pptx-vanilla-viewer 3.16.0 → 3.17.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.
@@ -1 +1 @@
1
- 'use strict';var chunkLQYP7D76_cjs=require('./chunk-LQYP7D76.cjs'),chunkWKWWFY2C_cjs=require('./chunk-WKWWFY2C.cjs');require('./chunk-B5PFHICE.cjs');Object.defineProperty(exports,"playTransitionOverlay",{enumerable:true,get:function(){return chunkLQYP7D76_cjs.d}});Object.defineProperty(exports,"CINEMATIC_TRANSITION_KEYFRAMES",{enumerable:true,get:function(){return chunkWKWWFY2C_cjs.Oh}});Object.defineProperty(exports,"DEFAULT_MORPH_DURATION_MS",{enumerable:true,get:function(){return chunkWKWWFY2C_cjs.ld}});Object.defineProperty(exports,"DEFAULT_TRANSITION_DURATION_MS",{enumerable:true,get:function(){return chunkWKWWFY2C_cjs.kd}});Object.defineProperty(exports,"EASE",{enumerable:true,get:function(){return chunkWKWWFY2C_cjs.nd}});Object.defineProperty(exports,"INSTANT",{enumerable:true,get:function(){return chunkWKWWFY2C_cjs.jd}});Object.defineProperty(exports,"P14_TRANSITION_KEYFRAMES",{enumerable:true,get:function(){return chunkWKWWFY2C_cjs.Kh}});Object.defineProperty(exports,"P14_TRANSITION_KEYFRAMES_2",{enumerable:true,get:function(){return chunkWKWWFY2C_cjs.Lh}});Object.defineProperty(exports,"P14_TRANSITION_KEYFRAMES_ALL",{enumerable:true,get:function(){return chunkWKWWFY2C_cjs.Mh}});Object.defineProperty(exports,"RANDOM_ELIGIBLE_TYPES",{enumerable:true,get:function(){return chunkWKWWFY2C_cjs.id}});Object.defineProperty(exports,"SLIDE_TRANSITION_KEYFRAMES",{enumerable:true,get:function(){return chunkWKWWFY2C_cjs.Qh}});Object.defineProperty(exports,"SLIDE_TRANSITION_KEYFRAMES_CSS",{enumerable:true,get:function(){return chunkWKWWFY2C_cjs.Rh}});Object.defineProperty(exports,"TRANSITION_SPEED_DURATION_MS",{enumerable:true,get:function(){return chunkWKWWFY2C_cjs.md}});Object.defineProperty(exports,"WHEEL_SPOKE_COUNTS",{enumerable:true,get:function(){return chunkWKWWFY2C_cjs.od}});Object.defineProperty(exports,"getCinematicTransitionAnimations",{enumerable:true,get:function(){return chunkWKWWFY2C_cjs.Nh}});Object.defineProperty(exports,"getP14TransitionAnimations",{enumerable:true,get:function(){return chunkWKWWFY2C_cjs.Sh}});Object.defineProperty(exports,"getSlideTransitionAnimations",{enumerable:true,get:function(){return chunkWKWWFY2C_cjs.Th}});Object.defineProperty(exports,"resolveDirection",{enumerable:true,get:function(){return chunkWKWWFY2C_cjs.fd}});Object.defineProperty(exports,"resolveDirection8",{enumerable:true,get:function(){return chunkWKWWFY2C_cjs.gd}});Object.defineProperty(exports,"resolveOrientation",{enumerable:true,get:function(){return chunkWKWWFY2C_cjs.hd}});Object.defineProperty(exports,"resolveSlideTransition",{enumerable:true,get:function(){return chunkWKWWFY2C_cjs.Uh}});Object.defineProperty(exports,"resolveTransitionDurationMs",{enumerable:true,get:function(){return chunkWKWWFY2C_cjs.Vh}});Object.defineProperty(exports,"resolveWheelSpokeCount",{enumerable:true,get:function(){return chunkWKWWFY2C_cjs.pd}});
1
+ 'use strict';var chunkE5YBMWZK_cjs=require('./chunk-E5YBMWZK.cjs'),chunkANLE2GSJ_cjs=require('./chunk-ANLE2GSJ.cjs');require('./chunk-B5PFHICE.cjs');Object.defineProperty(exports,"playTransitionOverlay",{enumerable:true,get:function(){return chunkE5YBMWZK_cjs.d}});Object.defineProperty(exports,"CINEMATIC_TRANSITION_KEYFRAMES",{enumerable:true,get:function(){return chunkANLE2GSJ_cjs.Ph}});Object.defineProperty(exports,"DEFAULT_MORPH_DURATION_MS",{enumerable:true,get:function(){return chunkANLE2GSJ_cjs.ld}});Object.defineProperty(exports,"DEFAULT_TRANSITION_DURATION_MS",{enumerable:true,get:function(){return chunkANLE2GSJ_cjs.kd}});Object.defineProperty(exports,"EASE",{enumerable:true,get:function(){return chunkANLE2GSJ_cjs.nd}});Object.defineProperty(exports,"INSTANT",{enumerable:true,get:function(){return chunkANLE2GSJ_cjs.jd}});Object.defineProperty(exports,"P14_TRANSITION_KEYFRAMES",{enumerable:true,get:function(){return chunkANLE2GSJ_cjs.Lh}});Object.defineProperty(exports,"P14_TRANSITION_KEYFRAMES_2",{enumerable:true,get:function(){return chunkANLE2GSJ_cjs.Mh}});Object.defineProperty(exports,"P14_TRANSITION_KEYFRAMES_ALL",{enumerable:true,get:function(){return chunkANLE2GSJ_cjs.Nh}});Object.defineProperty(exports,"RANDOM_ELIGIBLE_TYPES",{enumerable:true,get:function(){return chunkANLE2GSJ_cjs.id}});Object.defineProperty(exports,"SLIDE_TRANSITION_KEYFRAMES",{enumerable:true,get:function(){return chunkANLE2GSJ_cjs.Rh}});Object.defineProperty(exports,"SLIDE_TRANSITION_KEYFRAMES_CSS",{enumerable:true,get:function(){return chunkANLE2GSJ_cjs.Sh}});Object.defineProperty(exports,"TRANSITION_SPEED_DURATION_MS",{enumerable:true,get:function(){return chunkANLE2GSJ_cjs.md}});Object.defineProperty(exports,"WHEEL_SPOKE_COUNTS",{enumerable:true,get:function(){return chunkANLE2GSJ_cjs.od}});Object.defineProperty(exports,"getCinematicTransitionAnimations",{enumerable:true,get:function(){return chunkANLE2GSJ_cjs.Oh}});Object.defineProperty(exports,"getP14TransitionAnimations",{enumerable:true,get:function(){return chunkANLE2GSJ_cjs.Th}});Object.defineProperty(exports,"getSlideTransitionAnimations",{enumerable:true,get:function(){return chunkANLE2GSJ_cjs.Uh}});Object.defineProperty(exports,"resolveDirection",{enumerable:true,get:function(){return chunkANLE2GSJ_cjs.fd}});Object.defineProperty(exports,"resolveDirection8",{enumerable:true,get:function(){return chunkANLE2GSJ_cjs.gd}});Object.defineProperty(exports,"resolveOrientation",{enumerable:true,get:function(){return chunkANLE2GSJ_cjs.hd}});Object.defineProperty(exports,"resolveSlideTransition",{enumerable:true,get:function(){return chunkANLE2GSJ_cjs.Vh}});Object.defineProperty(exports,"resolveTransitionDurationMs",{enumerable:true,get:function(){return chunkANLE2GSJ_cjs.Wh}});Object.defineProperty(exports,"resolveWheelSpokeCount",{enumerable:true,get:function(){return chunkANLE2GSJ_cjs.pd}});
@@ -1,2 +1,2 @@
1
- import { $t as SlideTransitionAnimations, Et as RANDOM_ELIGIBLE_TYPES, Fn as getSlideTransitionAnimations, Gn as resolveDirection8, Ht as SLIDE_TRANSITION_KEYFRAMES, Jn as resolveTransitionDurationMs, Kn as resolveOrientation, M as DEFAULT_TRANSITION_DURATION_MS, Mn as getCinematicTransitionAnimations, Mt as ResolvedDirection8, N as EASE, Nn as getP14TransitionAnimations, Tn as WHEEL_SPOKE_COUNTS, Ut as SLIDE_TRANSITION_KEYFRAMES_CSS, Wn as resolveDirection, Yn as resolveWheelSpokeCount, Z as INSTANT, _t as P14_TRANSITION_KEYFRAMES_ALL, gt as P14_TRANSITION_KEYFRAMES_2, ht as P14_TRANSITION_KEYFRAMES, j as DEFAULT_MORPH_DURATION_MS, jt as ResolvedDirection, n as playTransitionOverlay, nn as TRANSITION_SPEED_DURATION_MS, p as CINEMATIC_TRANSITION_KEYFRAMES, qn as resolveSlideTransition, t as TransitionOverlayParams } from "./transition-overlay-f0pbzLt7.js";
1
+ import { $t as SlideTransitionAnimations, Et as RANDOM_ELIGIBLE_TYPES, Fn as getSlideTransitionAnimations, Gn as resolveDirection8, Ht as SLIDE_TRANSITION_KEYFRAMES, Jn as resolveTransitionDurationMs, Kn as resolveOrientation, M as DEFAULT_TRANSITION_DURATION_MS, Mn as getCinematicTransitionAnimations, Mt as ResolvedDirection8, N as EASE, Nn as getP14TransitionAnimations, Tn as WHEEL_SPOKE_COUNTS, Ut as SLIDE_TRANSITION_KEYFRAMES_CSS, Wn as resolveDirection, Yn as resolveWheelSpokeCount, Z as INSTANT, _t as P14_TRANSITION_KEYFRAMES_ALL, gt as P14_TRANSITION_KEYFRAMES_2, ht as P14_TRANSITION_KEYFRAMES, j as DEFAULT_MORPH_DURATION_MS, jt as ResolvedDirection, n as playTransitionOverlay, nn as TRANSITION_SPEED_DURATION_MS, p as CINEMATIC_TRANSITION_KEYFRAMES, qn as resolveSlideTransition, t as TransitionOverlayParams } from "./transition-overlay-DjUk9Dpn.js";
2
2
  export { CINEMATIC_TRANSITION_KEYFRAMES, DEFAULT_MORPH_DURATION_MS, DEFAULT_TRANSITION_DURATION_MS, EASE, INSTANT, P14_TRANSITION_KEYFRAMES, P14_TRANSITION_KEYFRAMES_2, P14_TRANSITION_KEYFRAMES_ALL, RANDOM_ELIGIBLE_TYPES, type ResolvedDirection, type ResolvedDirection8, SLIDE_TRANSITION_KEYFRAMES, SLIDE_TRANSITION_KEYFRAMES_CSS, type SlideTransitionAnimations, TRANSITION_SPEED_DURATION_MS, type TransitionOverlayParams, WHEEL_SPOKE_COUNTS, getCinematicTransitionAnimations, getP14TransitionAnimations, getSlideTransitionAnimations, playTransitionOverlay, resolveDirection, resolveDirection8, resolveOrientation, resolveSlideTransition, resolveTransitionDurationMs, resolveWheelSpokeCount };
package/dist/internals.js CHANGED
@@ -1 +1 @@
1
- export{d as playTransitionOverlay}from'./chunk-VFHGFYEN.js';export{Oh as CINEMATIC_TRANSITION_KEYFRAMES,ld as DEFAULT_MORPH_DURATION_MS,kd as DEFAULT_TRANSITION_DURATION_MS,nd as EASE,jd as INSTANT,Kh as P14_TRANSITION_KEYFRAMES,Lh as P14_TRANSITION_KEYFRAMES_2,Mh as P14_TRANSITION_KEYFRAMES_ALL,id as RANDOM_ELIGIBLE_TYPES,Qh as SLIDE_TRANSITION_KEYFRAMES,Rh as SLIDE_TRANSITION_KEYFRAMES_CSS,md as TRANSITION_SPEED_DURATION_MS,od as WHEEL_SPOKE_COUNTS,Nh as getCinematicTransitionAnimations,Sh as getP14TransitionAnimations,Th as getSlideTransitionAnimations,fd as resolveDirection,gd as resolveDirection8,hd as resolveOrientation,Uh as resolveSlideTransition,Vh as resolveTransitionDurationMs,pd as resolveWheelSpokeCount}from'./chunk-ACEQOODH.js';import'./chunk-62D2TNHX.js';
1
+ export{d as playTransitionOverlay}from'./chunk-465U4ONU.js';export{Ph as CINEMATIC_TRANSITION_KEYFRAMES,ld as DEFAULT_MORPH_DURATION_MS,kd as DEFAULT_TRANSITION_DURATION_MS,nd as EASE,jd as INSTANT,Lh as P14_TRANSITION_KEYFRAMES,Mh as P14_TRANSITION_KEYFRAMES_2,Nh as P14_TRANSITION_KEYFRAMES_ALL,id as RANDOM_ELIGIBLE_TYPES,Rh as SLIDE_TRANSITION_KEYFRAMES,Sh as SLIDE_TRANSITION_KEYFRAMES_CSS,md as TRANSITION_SPEED_DURATION_MS,od as WHEEL_SPOKE_COUNTS,Oh as getCinematicTransitionAnimations,Th as getP14TransitionAnimations,Uh as getSlideTransitionAnimations,fd as resolveDirection,gd as resolveDirection8,hd as resolveOrientation,Vh as resolveSlideTransition,Wh as resolveTransitionDurationMs,pd as resolveWheelSpokeCount}from'./chunk-255BQTPS.js';import'./chunk-62D2TNHX.js';
package/dist/styles.css CHANGED
@@ -86,8 +86,8 @@
86
86
  * runs out of width), keeps every button's ink inside its own bounding rect, so
87
87
  * a coordinate click always reaches the control it looks like it is over. This
88
88
  * is authoritative on purpose; the specialisations that give a text button its
89
- * own metrics (.pptxv-btn-pill, .pptxv-animation-preset,
90
- * .pptxv-motion-path-preset, .pptxv-theme-gallery,
89
+ * own metrics (.pptxv-btn-pill,
90
+ * .pptxv-theme-gallery,
91
91
  * .pptxv-presentation-touch-controls) are declared later in the sheet at equal
92
92
  * specificity and keep winning. */
93
93
  .pptxv-btn.pptxv-btn-text {
@@ -434,6 +434,18 @@
434
434
  pointer-events: none;
435
435
  transform-origin: center;
436
436
  }
437
+ /* The group a selected member sits in (selecting inside a group): a quiet
438
+ dashed frame, like PowerPoint's, that never takes the pointer. */
439
+ .pptxv-group-frame {
440
+ position: absolute;
441
+ box-sizing: border-box;
442
+ border: 1px dashed var(--pptx-ring);
443
+ opacity: 0.7;
444
+ pointer-events: none;
445
+ }
446
+ .pptxv-group-frame[hidden] {
447
+ display: none;
448
+ }
437
449
  .pptxv-sel-handle {
438
450
  --pptx-handle-hit-inset: 0px;
439
451
  position: absolute;
@@ -1545,11 +1557,6 @@
1545
1557
  .pptxv-theme-gallery-host > .pptxv-deck-theme-editor { display: block; width: 300px; max-height: 70vh; overflow-y: auto; padding: 0; }
1546
1558
  .pptxv-theme-swatch-preview { display: block; width: 20px; height: 20px; flex: none; border: 1px solid var(--pptx-border); border-radius: 4px; }
1547
1559
  .pptxv-shortcut-help { align-self: center; padding: 5px 8px; color: var(--pptx-muted-foreground); font-size: 11px; }
1548
- .pptxv-ribbon-insert-content {
1549
- flex-wrap: nowrap;
1550
- overflow-x: auto;
1551
- overflow-y: hidden;
1552
- }
1553
1560
  .pptxv-rgroup {
1554
1561
  display: flex;
1555
1562
  flex: none;
@@ -1585,40 +1592,6 @@
1585
1592
  .pptxv-arrange-extras { display: inline-flex; align-items: center; gap: 2px; }
1586
1593
  .pptxv-arrange-extras .pptxv-arrange-stroke { width: 52px; text-align: center; }
1587
1594
 
1588
- /* ── Transitions > Advance Slide ────────────────────────────────────────
1589
- The group shipped with no rules at all, so its caption and both rows ran
1590
- together as inline text ("On Mouse ClickAfter:00:00.00") and the duration
1591
- box stretched to whatever width the row left it. React lays it out as a
1592
- caption over two checkbox rows, with a 64px centred time box. */
1593
- .pptxv-transition-advance {
1594
- display: inline-flex;
1595
- flex: none;
1596
- flex-direction: column;
1597
- gap: 3px;
1598
- font-size: 12px;
1599
- color: var(--pptx-muted-foreground);
1600
- }
1601
- .pptxv-transition-advance-row {
1602
- display: inline-flex;
1603
- align-items: center;
1604
- gap: 6px;
1605
- white-space: nowrap;
1606
- cursor: pointer;
1607
- }
1608
- .pptxv-transition-advance-seconds {
1609
- width: 64px;
1610
- padding: 1px 4px;
1611
- border: 1px solid var(--pptx-border);
1612
- border-radius: var(--pptx-radius);
1613
- background: var(--pptx-muted);
1614
- color: var(--pptx-foreground);
1615
- font: inherit;
1616
- font-size: 11px;
1617
- text-align: center;
1618
- }
1619
- .pptxv-transition-advance-seconds:focus-visible { outline: 2px solid var(--pptx-ring); outline-offset: -1px; }
1620
- .pptxv-transition-advance-seconds:disabled { opacity: 0.5; }
1621
-
1622
1595
  /* ── Home > Slides split button (New Slide + layout caret) ──────────────*/
1623
1596
  .pptxv-slides-split { position: relative; display: inline-flex; align-items: stretch; }
1624
1597
  .pptxv-slides-split .pptxv-btn-pill { border-top-right-radius: 0; border-bottom-right-radius: 0; }
@@ -1695,20 +1668,6 @@
1695
1668
  text-align: center;
1696
1669
  }
1697
1670
 
1698
- /* ── Select + commit picker (Insert > Shape / Chart) ──────────────────── */
1699
- .pptxv-select-button { display: inline-flex; align-items: center; gap: 0; }
1700
- .pptxv-select-button-select {
1701
- max-width: 132px;
1702
- padding: 5px 4px 5px 6px;
1703
- border: 1px solid var(--pptx-border);
1704
- border-right: none;
1705
- border-radius: var(--pptx-radius) 0 0 var(--pptx-radius);
1706
- background: var(--pptx-muted);
1707
- color: var(--pptx-foreground);
1708
- font-size: 11px;
1709
- }
1710
- .pptxv-select-button-commit { border-radius: 0 var(--pptx-radius) var(--pptx-radius) 0; }
1711
-
1712
1671
  /* ── Dropdown popover (font/size/spacing/case/line-spacing) ─────────────*/
1713
1672
  .pptxv-dropdown { position: relative; display: inline-flex; }
1714
1673
  .pptxv-dropdown-trigger {
@@ -2015,79 +1974,6 @@
2015
1974
  .pptxv-tabrow-share svg { width: 12px; height: 12px; }
2016
1975
 
2017
1976
 
2018
- /* ── Ribbon galleries ──────────────────────────────────────────────────── */
2019
- .pptxv-ribbon-contents { display: contents; }
2020
- .pptxv-gallery { position: relative; display: inline-flex; align-items: stretch; }
2021
- .pptxv-gallery-inline {
2022
- border: 1px solid var(--pptx-border);
2023
- border-radius: var(--pptx-radius);
2024
- background: var(--pptx-background);
2025
- }
2026
- .pptxv-gallery-inline.is-disabled { opacity: 0.5; }
2027
- .pptxv-gallery-strip { display: flex; align-items: center; gap: 2px; padding: 2px; max-width: 320px; overflow: hidden; }
2028
- .pptxv-gallery-strip .pptxv-gallery-tile svg { width: auto; max-width: 48px; height: 32px; }
2029
- .pptxv-gallery-more {
2030
- display: inline-flex;
2031
- align-items: center;
2032
- justify-content: center;
2033
- width: 18px;
2034
- padding: 0;
2035
- border: none;
2036
- border-left: 1px solid var(--pptx-border);
2037
- background: transparent;
2038
- color: inherit;
2039
- cursor: pointer;
2040
- }
2041
- .pptxv-gallery-more:hover:not(:disabled) { background: var(--pptx-accent); }
2042
- .pptxv-gallery-more:disabled { opacity: 0.4; cursor: default; }
2043
- .pptxv-gallery-more svg { width: 12px; height: 12px; }
2044
- .pptxv-gallery-chevron { width: 16px; min-width: 16px; padding: 0; justify-content: center; border-color: transparent; background: transparent; }
2045
- .pptxv-split-gallery { display: inline-flex; align-items: center; }
2046
- .pptxv-gallery-popup {
2047
- /* Positioned by attachAnchoredPopup (position: fixed), escaping the ribbon
2048
- row's overflow clip like every other ribbon menu. */
2049
- z-index: 30;
2050
- max-width: min(560px, calc(100vw - 16px));
2051
- max-height: min(420px, calc(100vh - 120px));
2052
- overflow: auto;
2053
- padding: 6px;
2054
- border: 1px solid var(--pptx-border);
2055
- border-radius: var(--pptx-radius);
2056
- background: var(--pptx-card);
2057
- color: var(--pptx-card-foreground);
2058
- box-shadow: 0 6px 20px rgb(0 0 0 / 0.25);
2059
- }
2060
- .pptxv-gallery-popup[hidden] { display: none; }
2061
- .pptxv-gallery-section + .pptxv-gallery-section { margin-top: 6px; }
2062
- .pptxv-gallery-heading {
2063
- padding: 2px 4px 4px;
2064
- color: var(--pptx-muted-foreground);
2065
- font-size: 10px;
2066
- font-weight: 600;
2067
- text-transform: uppercase;
2068
- letter-spacing: 0.04em;
2069
- }
2070
- .pptxv-gallery-grid { display: grid; gap: 4px; }
2071
- .pptxv-gallery-tile {
2072
- display: inline-flex;
2073
- align-items: center;
2074
- justify-content: center;
2075
- padding: 2px;
2076
- border: 1px solid transparent;
2077
- border-radius: 4px;
2078
- background: transparent;
2079
- cursor: pointer;
2080
- line-height: 0;
2081
- }
2082
- .pptxv-gallery-tile:hover:not(:disabled) { border-color: var(--pptx-border); background: var(--pptx-accent); }
2083
- .pptxv-gallery-tile.is-applied { border-color: var(--pptx-primary); }
2084
- .pptxv-gallery-tile:disabled { opacity: 0.5; cursor: default; }
2085
- .pptxv-gallery-tile:focus-visible { outline: 2px solid var(--pptx-primary); outline-offset: 1px; }
2086
- /* PowerPoint tints contextual tabs so they read as selection-driven. */
2087
- .pptxv-ribbon-tab.pptxv-ribbon-tab-contextual { color: var(--pptx-primary); }
2088
- .pptxv-ribbon-tab.pptxv-ribbon-tab-contextual.is-active { border-bottom-color: var(--pptx-primary); }
2089
-
2090
-
2091
1977
  .pptxv-props-overlay { position:fixed; inset:0; z-index:210; display:grid; place-items:center; background:#0009; }
2092
1978
  .pptxv-props-scrim { position:absolute; inset:0; width:100%; height:100%; border:0; background:transparent; }
2093
1979
  .pptxv-props-dialog { position:relative; width:min(680px,calc(100vw - 32px)); max-height:calc(100vh - 40px); overflow:auto; border:1px solid var(--pptx-border); border-radius:10px; background:var(--pptx-card); color:var(--pptx-card-foreground); box-shadow:0 24px 80px #0008; }
@@ -3421,82 +3307,6 @@ label.pptxv-options-row { cursor: pointer; }
3421
3307
  }
3422
3308
 
3423
3309
 
3424
- /* Animations > Animation: the full 27-preset catalogue in three captioned
3425
- columns. Capped and scrollable rather than tall: the ribbon is one row high
3426
- and the layout-parity spec fails the whole tab if a group grows it. */
3427
- .pptxv-animation-gallery {
3428
- display: flex;
3429
- align-items: flex-start;
3430
- gap: 8px;
3431
- max-height: 62px;
3432
- padding: 2px 4px;
3433
- overflow-y: auto;
3434
- border: 1px solid color-mix(in srgb, var(--pptx-border) 60%, transparent);
3435
- border-radius: var(--pptx-radius);
3436
- background: color-mix(in srgb, var(--pptx-muted) 30%, transparent);
3437
- }
3438
- .pptxv-animation-gallery-column { display: grid; gap: 1px; }
3439
- .pptxv-animation-gallery-caption {
3440
- font-size: 9px;
3441
- line-height: 1.2;
3442
- font-weight: 600;
3443
- color: var(--pptx-muted-foreground);
3444
- }
3445
- .pptxv-animation-gallery-items { display: flex; flex-wrap: wrap; gap: 1px; max-width: 150px; }
3446
- .pptxv-btn.pptxv-animation-preset {
3447
- width: auto;
3448
- height: auto;
3449
- padding: 1px 4px;
3450
- font-size: 9px;
3451
- line-height: 1.3;
3452
- white-space: nowrap;
3453
- }
3454
- /* Animations > Motion Paths: the five PowerPoint families in captioned
3455
- columns, sharing the preset gallery's capped/scrollable box so the ribbon
3456
- keeps its single-row height.
3457
-
3458
- max-width: 420px + overflow-x: auto matches the cap React applies to the
3459
- RibbonGroup that wraps its MotionPathGallery (max-w-[420px]
3460
- overflow-hidden). Without a width cap here, this binding's five family
3461
- columns (each already capped individually at 150px via
3462
- .pptxv-motion-path-gallery-items) still combine to ~800px, wide enough
3463
- to push the Advanced Animation and Timing groups after it off the
3464
- ribbon's visible row: reachable only via a second, easy-to-miss nested
3465
- horizontal scrollbar (the reported Animations-tab clipping).
3466
- overflow-x: auto (rather than React's overflow-hidden on its wrapper)
3467
- keeps every family reachable via a small scrollbar instead of silently
3468
- hiding whatever a hard clip would cut off. */
3469
- .pptxv-motion-path-gallery {
3470
- display: flex;
3471
- align-items: flex-start;
3472
- gap: 8px;
3473
- max-width: 420px;
3474
- max-height: 62px;
3475
- padding: 2px 4px;
3476
- overflow-x: auto;
3477
- overflow-y: auto;
3478
- border: 1px solid color-mix(in srgb, var(--pptx-border) 60%, transparent);
3479
- border-radius: var(--pptx-radius);
3480
- background: color-mix(in srgb, var(--pptx-muted) 30%, transparent);
3481
- }
3482
- .pptxv-motion-path-gallery-column { display: grid; gap: 1px; }
3483
- .pptxv-motion-path-gallery-caption {
3484
- font-size: 9px;
3485
- line-height: 1.2;
3486
- font-weight: 600;
3487
- color: var(--pptx-muted-foreground);
3488
- }
3489
- .pptxv-motion-path-gallery-items { display: flex; flex-wrap: wrap; gap: 1px; max-width: 150px; }
3490
- .pptxv-btn.pptxv-motion-path-preset {
3491
- width: auto;
3492
- height: auto;
3493
- padding: 1px 4px;
3494
- font-size: 9px;
3495
- line-height: 1.3;
3496
- white-space: nowrap;
3497
- }
3498
- /* Inspector > Animation > Motion Path row (same look as .pptxv-anim-field,
3499
- under its own class so the panel's positional field lookups still hold). */
3500
3310
  .pptxv-motion-path-row { display: grid; gap: 2px; font-size: 11px; }
3501
3311
  .pptxv-motion-path-row > span { color: var(--pptx-muted-foreground); }
3502
3312
  .pptxv-motion-path-row select {
@@ -5411,7 +5221,6 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
5411
5221
  display: flex; align-items: center; gap: 4px;
5412
5222
  }
5413
5223
  [data-pptx-editor-chrome] [data-pptx-chrome="font-controls-fragment"] { display: contents; }
5414
- [data-pptx-editor-chrome] [data-ribbon-group="home.clipboard"] > :first-child { gap: 0; }
5415
5224
  [data-pptx-editor-chrome] [data-pptx-chrome="slides-controls"] {
5416
5225
  display: flex; align-items: center; gap: 4px;
5417
5226
  }
@@ -5500,13 +5309,6 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
5500
5309
  display: inline-flex; align-items: center; gap: 4px;
5501
5310
  border: 0; padding: 0; background: transparent;
5502
5311
  }
5503
- [data-pptx-editor-chrome] [data-pptx-chrome="paragraph-controls"] :is(
5504
- [data-ribbon-control="home.paragraph.decreaseIndent"],
5505
- [data-ribbon-control="home.paragraph.alignLeft"],
5506
- [data-ribbon-control="home.paragraph.alignCenter"],
5507
- [data-ribbon-control="home.paragraph.alignRight"]
5508
- ) { margin-right: -4px; }
5509
- [data-pptx-editor-chrome] [data-pptx-chrome="paragraph-controls"] [data-pptx-chrome="control-cluster"] { display: contents; }
5510
5312
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"] :is(
5511
5313
  [data-ribbon-control="home.paragraph.bullets"], [data-ribbon-control="home.paragraph.numbering"]
5512
5314
  ) { display: inline-flex; align-items: center; gap: 0; }
@@ -5527,11 +5329,9 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
5527
5329
  width: 1px; height: 20px; align-self: center; margin: 0 4px;
5528
5330
  background: color-mix(in oklab, var(--pptx-border) 40%, transparent);
5529
5331
  }
5530
- [data-pptx-editor-chrome] [data-pptx-chrome="editing-controls"] [data-pptx-chrome="control-cluster"],
5531
5332
  [data-pptx-editor-chrome] [data-pptx-chrome="order-controls"] {
5532
5333
  display: inline-flex; align-items: center; gap: 0; border: 0; padding: 0;
5533
5334
  }
5534
- [data-pptx-editor-chrome] [data-pptx-chrome="editing-controls"] > button[data-ribbon-control="home.editing.find"] { margin-right: -4px; }
5535
5335
  [data-pptx-editor-chrome] [data-pptx-chrome="drawing-controls"] [data-pptx-chrome="ribbon-inline-label"] { display: none; }
5536
5336
  [data-pptx-editor-chrome] [data-pptx-chrome="drawing-controls"] [data-ribbon-control="home.drawing.shapes"] { order: 1; }
5537
5337
  [data-pptx-editor-chrome] [data-pptx-chrome="drawing-controls"] [data-ribbon-control="home.drawing.arrange"] { order: 2; }
@@ -5617,18 +5417,10 @@ svg[data-pptx-motion-path-overlay] [data-pptx-motion-path-handle] { pointer-even
5617
5417
  }
5618
5418
 
5619
5419
  @media (min-width: 768px) {
5620
- [data-pptx-editor-chrome] [data-ribbon-group="home.clipboard"] > :first-child,
5621
- [data-pptx-editor-chrome] [data-pptx-chrome="paragraph-controls"] [data-pptx-chrome="control-cluster"],
5622
- [data-pptx-editor-chrome] [data-pptx-chrome="editing-controls"] [data-pptx-chrome="control-cluster"],
5623
5420
  [data-pptx-editor-chrome] [data-pptx-chrome="order-controls"],
5624
5421
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon-content"] :is(
5625
5422
  [data-ribbon-control="home.paragraph.bullets"], [data-ribbon-control="home.paragraph.numbering"]
5626
5423
  ) { background: var(--pptx-muted); border-radius: 3px; }
5627
- [data-pptx-editor-chrome] [data-pptx-chrome="paragraph-controls"] [data-pptx-chrome="control-cluster"] {
5628
- display: inline-flex; align-items: center; gap: 0; overflow: hidden;
5629
- }
5630
- [data-pptx-editor-chrome] :is([data-pptx-chrome="paragraph-controls"], [data-pptx-chrome="editing-controls"])
5631
- [data-pptx-chrome="control-cluster"] > button { margin-right: 0; }
5632
5424
  [data-pptx-editor-chrome] [data-pptx-chrome="ribbon"] [data-pptx-chrome="ribbon-content"] :is(
5633
5425
  [data-ribbon-control="home.paragraph.bullets"], [data-ribbon-control="home.paragraph.numbering"]
5634
5426
  ) [data-pptx-chrome="gallery-caret"] { padding: 0 2px; }