@vielzeug/codex 26.10.15 → 26.10.17

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/data/refine.json CHANGED
@@ -1766,6 +1766,13 @@
1766
1766
  },
1767
1767
  "description": "Internal padding: 'none' | 'sm' | 'md' | 'lg' | 'xl'"
1768
1768
  },
1769
+ {
1770
+ "name": "rounded",
1771
+ "type": {
1772
+ "text": "'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'"
1773
+ },
1774
+ "description": "Border radius: 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'"
1775
+ },
1769
1776
  {
1770
1777
  "name": "elevation",
1771
1778
  "type": {
@@ -3493,7 +3500,7 @@
3493
3500
  "cssProperties": [
3494
3501
  {
3495
3502
  "name": "--rank-number-color",
3496
- "description": "Rank numeral color (default --color-contrast-500)"
3503
+ "description": "Rank numeral color (default --color-contrast-600)"
3497
3504
  },
3498
3505
  {
3499
3506
  "name": "--rank-number-width",
@@ -3505,7 +3512,7 @@
3505
3512
  },
3506
3513
  {
3507
3514
  "name": "--rank-track-color",
3508
- "description": "Bar track color (default --color-contrast-100)"
3515
+ "description": "Bar track color (default --color-contrast-200)"
3509
3516
  },
3510
3517
  {
3511
3518
  "name": "--rank-bar-height",
@@ -3644,10 +3651,10 @@
3644
3651
  "kind": "variable",
3645
3652
  "name": "SPEECH_RATES",
3646
3653
  "type": {
3647
- "text": "[1, 0.85, 1.15, 1.5]"
3654
+ "text": "[1, 1.15, 1.5, 0.85]"
3648
3655
  },
3649
- "default": "[1, 0.85, 1.15, 1.5]",
3650
- "description": "The playback multipliers the speed control cycles through."
3656
+ "default": "[1, 1.15, 1.5, 0.85]",
3657
+ "description": "The playback multipliers the speed control cycles through, in cycle order: the first\ntap from the default 1× speeds the reading up, and the slow step returns last."
3651
3658
  },
3652
3659
  {
3653
3660
  "kind": "function",
@@ -3667,6 +3674,37 @@
3667
3674
  ],
3668
3675
  "description": "The entry's sentences: prose ends . ! or ?, closing quotes belong to the sentence\nthey end, and an unterminated tail is still a sentence. Consumers that highlight what\nis being read build their display from this same list, so `progress` sentence indexes\nmap onto their own."
3669
3676
  },
3677
+ {
3678
+ "kind": "function",
3679
+ "name": "pickVoice",
3680
+ "return": {
3681
+ "type": {
3682
+ "text": "VoiceCandidate | null"
3683
+ }
3684
+ },
3685
+ "parameters": [
3686
+ {
3687
+ "name": "voices",
3688
+ "type": {
3689
+ "text": "VoiceCandidate[]"
3690
+ }
3691
+ },
3692
+ {
3693
+ "name": "lang",
3694
+ "type": {
3695
+ "text": "string | null"
3696
+ }
3697
+ },
3698
+ {
3699
+ "name": "name",
3700
+ "optional": true,
3701
+ "type": {
3702
+ "text": "string"
3703
+ }
3704
+ }
3705
+ ],
3706
+ "description": "The voice to read with: an exact (then substring, case-insensitive) name match wins;\notherwise the best-ranked voice for `lang`, or `null` to leave the choice to the\nengine's own `lang` hint."
3707
+ },
3670
3708
  {
3671
3709
  "kind": "variable",
3672
3710
  "name": "SPEECH_PLAYER_TAG",
@@ -3674,14 +3712,14 @@
3674
3712
  "text": "'ore-speech-player'"
3675
3713
  },
3676
3714
  "default": "'ore-speech-player'",
3677
- "description": "A text-to-speech player control: reads its `text` aloud through the Web Speech API.\n\nRenders a labeled play/pause toggle (the label folds away once engaged), a stop\ncontrol beside it that appears while reading, and a speed control cycling\n1×/0.85×/1.15×/1.5×. The text is spoken sentence by sentence (long sentences split into pieces under the\nengine's truncation window), the `state` attribute reflects playback, a\n`role=\"status\"` live region announces transitions, and `progress` events name the\nsentence being read so a consumer can highlight it. Only one player speaks at a\ntime: starting one stops any other. `resume-at` names the sentence to begin from,\nso a persisted position makes resume mean it."
3715
+ "description": "A text-to-speech player control: reads its `text` aloud through the Web Speech API.\n\nRenders an icon-only play/pause toggle, a speed control cycling\n1×/1.15×/1.5×/0.85×, a stop control that appears while reading, and a\nsentence-position readout. The text is spoken sentence by sentence (long sentences\nsplit into pieces under the\nengine's truncation window), the `state` attribute reflects playback, a\n`role=\"status\"` live region announces transitions, and `progress` events name the\nsentence being read so a consumer can highlight it. While reading, the Media Session\nAPI (where available) exposes play/pause/stop to the browser's own media controls.\nOnly one player speaks at a time: starting one stops any other. `resume-at` names the\nsentence to begin from, so a persisted position makes resume mean it."
3678
3716
  },
3679
3717
  {
3680
3718
  "kind": "class",
3681
3719
  "name": "OreSpeechPlayerElement",
3682
3720
  "tagName": "ore-speech-player",
3683
3721
  "customElement": true,
3684
- "description": "A text-to-speech player control: reads its `text` aloud through the Web Speech API.\nRenders a labeled play/pause toggle (the label folds away once engaged), a stop\ncontrol beside it that appears while reading, and a speed control cycling\n1×/0.85×/1.15×/1.5×. The text is spoken sentence by sentence (long sentences split into pieces under the\nengine's truncation window), the `state` attribute reflects playback, a\n`role=\"status\"` live region announces transitions, and `progress` events name the\nsentence being read so a consumer can highlight it. Only one player speaks at a\ntime: starting one stops any other. `resume-at` names the sentence to begin from,\nso a persisted position makes resume mean it.",
3722
+ "description": "A text-to-speech player control: reads its `text` aloud through the Web Speech API.\nRenders an icon-only play/pause toggle, a speed control cycling\n1×/1.15×/1.5×/0.85×, a stop control that appears while reading, and a\nsentence-position readout. The text is spoken sentence by sentence (long sentences\nsplit into pieces under the\nengine's truncation window), the `state` attribute reflects playback, a\n`role=\"status\"` live region announces transitions, and `progress` events name the\nsentence being read so a consumer can highlight it. While reading, the Media Session\nAPI (where available) exposes play/pause/stop to the browser's own media controls.\nOnly one player speaks at a time: starting one stops any other. `resume-at` names the\nsentence to begin from, so a persisted position makes resume mean it.\n voice for `lang` is picked automatically",
3685
3723
  "summary": "",
3686
3724
  "attributes": [
3687
3725
  {
@@ -3710,7 +3748,28 @@
3710
3748
  "type": {
3711
3749
  "text": "number"
3712
3750
  },
3713
- "description": "Playback rate; the speed control cycles 1 → 0.85 → 1.15 → 1.5"
3751
+ "description": "Playback rate; the speed control cycles 1 → 1.15 → 1.5 → 0.85"
3752
+ },
3753
+ {
3754
+ "name": "pitch",
3755
+ "type": {
3756
+ "text": "number"
3757
+ },
3758
+ "description": "Voice pitch passed to the engine, 0 to 2 (1 is natural)"
3759
+ },
3760
+ {
3761
+ "name": "volume",
3762
+ "type": {
3763
+ "text": "number"
3764
+ },
3765
+ "description": "Voice loudness passed to the engine, 0 to 1"
3766
+ },
3767
+ {
3768
+ "name": "voice",
3769
+ "type": {
3770
+ "text": "string"
3771
+ },
3772
+ "description": "Name of the voice to read with; unset, the most natural-sounding"
3714
3773
  },
3715
3774
  {
3716
3775
  "name": "resume-at",
@@ -3771,15 +3830,15 @@
3771
3830
  },
3772
3831
  {
3773
3832
  "name": "play",
3774
- "description": "The play/pause toggle button"
3833
+ "description": "The play/pause toggle (an `ore-button`: style its `button` part through it)"
3775
3834
  },
3776
3835
  {
3777
3836
  "name": "rate",
3778
- "description": "The speed control"
3837
+ "description": "The speed control (an `ore-button`)"
3779
3838
  },
3780
3839
  {
3781
3840
  "name": "stop",
3782
- "description": "The stop button (hidden while idle)"
3841
+ "description": "The stop button (an `ore-button`, hidden while idle)"
3783
3842
  }
3784
3843
  ],
3785
3844
  "cssProperties": [
@@ -3789,16 +3848,12 @@
3789
3848
  },
3790
3849
  {
3791
3850
  "name": "--speech-player-control-size",
3792
- "description": "Each control's hit-area size (the toggle grows with its label)"
3851
+ "description": "Each control's hit-area size"
3793
3852
  },
3794
3853
  {
3795
3854
  "name": "--speech-player-icon-color",
3796
3855
  "description": "Control icon color at rest"
3797
3856
  },
3798
- {
3799
- "name": "--speech-player-active-color",
3800
- "description": "Toggle color while reading (playing or paused)"
3801
- },
3802
3857
  {
3803
3858
  "name": "--speech-player-hover-bg",
3804
3859
  "description": "Control background on hover"
@@ -3878,6 +3933,13 @@
3878
3933
  "text": "string"
3879
3934
  },
3880
3935
  "description": "Read-only playback state: idle | playing | paused | ended"
3936
+ },
3937
+ {
3938
+ "name": "fullscreen",
3939
+ "type": {
3940
+ "text": "boolean"
3941
+ },
3942
+ "description": "Read-only; present while the reader fills the screen"
3881
3943
  }
3882
3944
  ],
3883
3945
  "events": [
@@ -3946,7 +4008,11 @@
3946
4008
  "cssProperties": [
3947
4009
  {
3948
4010
  "name": "--speed-reading-font-size",
3949
- "description": "Display type size (default var(--text-2xl))"
4011
+ "description": "Maximum display type size (default var(--text-3xl))"
4012
+ },
4013
+ {
4014
+ "name": "--speed-reading-fullscreen-font-size",
4015
+ "description": "Maximum fullscreen display type size (default min(10vw, var(--size-96)))"
3950
4016
  },
3951
4017
  {
3952
4018
  "name": "--speed-reading-min-font-size",
@@ -14234,6 +14300,75 @@
14234
14300
  ],
14235
14301
  "description": "Shared logic for floating-panel triggers (tooltip, popover).\n\nHandles:\n- Slot-based trigger element detection and rebinding\n- Event binding per trigger type (hover / focus / click)\n- Floating-element positioning via `@vielzeug/orbit`\n- Controlled mode via `openProp` watcher\n- Keyboard escape dismissal\n\nARIA binding is intentionally delegated to the caller via `bindTriggerAria`\nso that tooltip (`describedby`) and popover (`expanded`/`controls`/…) can diverge."
14236
14302
  },
14303
+ {
14304
+ "kind": "variable",
14305
+ "name": "SPOTLIGHT_TAG",
14306
+ "type": {
14307
+ "text": "'ore-spotlight'"
14308
+ },
14309
+ "default": "'ore-spotlight'",
14310
+ "description": "A dim layer with a hole punched in it, so one region of the page stays at full\nbrightness while everything else recedes.\n\nThe dim is a single oversized box-shadow on the cutout element, so the hole\nanimates with the element's own geometry: when a tour moves to the next step,\nthe highlight slides to the new target instead of blinking out and back.\n\nThe layer never captures pointer events: a beacon shows the way, it does not\nblock the road. The element inside the cutout stays clickable, and whatever\ndialog or popover owns the moment handles interaction and announcement: this\nlayer is decorative by definition and carries `aria-hidden`."
14311
+ },
14312
+ {
14313
+ "kind": "class",
14314
+ "name": "OreSpotlightElement",
14315
+ "tagName": "ore-spotlight",
14316
+ "customElement": true,
14317
+ "description": "A dim layer with a hole punched in it, so one region of the page stays at full\nbrightness while everything else recedes.\nThe dim is a single oversized box-shadow on the cutout element, so the hole\nanimates with the element's own geometry: when a tour moves to the next step,\nthe highlight slides to the new target instead of blinking out and back.\nThe layer never captures pointer events: a beacon shows the way, it does not\nblock the road. The element inside the cutout stays clickable, and whatever\ndialog or popover owns the moment handles interaction and announcement: this\nlayer is decorative by definition and carries `aria-hidden`.",
14318
+ "summary": "",
14319
+ "attributes": [
14320
+ {
14321
+ "name": "radius",
14322
+ "type": {
14323
+ "text": "number"
14324
+ },
14325
+ "description": "Cutout corner radius in px (default: 8)",
14326
+ "default": "8"
14327
+ },
14328
+ {
14329
+ "name": "visible",
14330
+ "type": {
14331
+ "text": "boolean"
14332
+ },
14333
+ "description": "Show the dim layer (default: true)",
14334
+ "default": "true"
14335
+ }
14336
+ ],
14337
+ "cssParts": [
14338
+ {
14339
+ "name": "overlay",
14340
+ "description": "The fixed dim layer."
14341
+ },
14342
+ {
14343
+ "name": "cutout",
14344
+ "description": "The highlighted rectangle."
14345
+ }
14346
+ ],
14347
+ "cssProperties": [
14348
+ {
14349
+ "name": "--spotlight-dim",
14350
+ "description": "Dim color (default: var(--color-scrim))"
14351
+ },
14352
+ {
14353
+ "name": "--spotlight-ring",
14354
+ "description": "Ring drawn around the cutout (default: none)"
14355
+ },
14356
+ {
14357
+ "name": "--spotlight-radius",
14358
+ "description": "Cutout corner radius"
14359
+ },
14360
+ {
14361
+ "name": "--spotlight-transition",
14362
+ "description": "Geometry transition (default: 240ms ease)"
14363
+ }
14364
+ ],
14365
+ "demos": [
14366
+ {
14367
+ "url": "",
14368
+ "description": "```html\n<ore-spotlight></ore-spotlight>\n<script type=\"module\">\n import '@vielzeug/refine/spotlight';\n const spotlight = document.querySelector('ore-spotlight');\n spotlight.rect = document.querySelector('#cta').getBoundingClientRect();\n</script>\n```"
14369
+ }
14370
+ ]
14371
+ },
14237
14372
  {
14238
14373
  "kind": "variable",
14239
14374
  "name": "TOOLTIP_TAG",
@@ -14354,5 +14489,274 @@
14354
14489
  "description": "```html\n<!-- Simple text tooltip -->\n<ore-tooltip content=\"Copy to clipboard\">\n <button>Copy</button>\n</ore-tooltip>\n<!-- Placement and delay -->\n<ore-tooltip content=\"Save your work\" placement=\"right\" delay=\"300\">\n <ore-icon name=\"save\"></ore-icon>\n</ore-tooltip>\n<!-- Hover + focus trigger -->\n<ore-tooltip content=\"Required field\" trigger=\"hover,focus\" placement=\"top\">\n <ore-input label=\"Email\" type=\"email\"></ore-input>\n</ore-tooltip>\n<!-- Rich content slot -->\n<ore-tooltip>\n <ore-button>Help</ore-button>\n <div slot=\"content\">\n <strong>Keyboard shortcuts</strong>\n <p>Press Ctrl+S to save.</p>\n </div>\n</ore-tooltip>\n```"
14355
14490
  }
14356
14491
  ]
14492
+ },
14493
+ {
14494
+ "kind": "variable",
14495
+ "name": "TOUR_PRESENTATIONS",
14496
+ "type": {
14497
+ "text": "['auto', 'bottom-sheet', 'modal', 'popover']"
14498
+ },
14499
+ "default": "['auto', 'bottom-sheet', 'modal', 'popover']"
14500
+ },
14501
+ {
14502
+ "kind": "variable",
14503
+ "name": "TOUR_TAG",
14504
+ "type": {
14505
+ "text": "'ore-tour'"
14506
+ },
14507
+ "default": "'ore-tour'",
14508
+ "description": "The step card of a product tour: a compact dialog with title, body, progress,\nand Skip / Back / Next actions (Skip leads the row, away from Next).\n\nThe card is deliberately dumb: it owns no step logic and no persistence. It\nrenders the step the app hands it and emits `next` / `back` / `skip` /\n`finish` / `dismiss`; a `@vielzeug/beacon` tour handle (or any state the app\nalready keeps) decides what happens. `bind(handle)` wires both directions in\none call, or the app drives the `open`, `title`, `description`,\n`step-index`, and `anchor` props and listens to the events itself.\n\nPresentations: `popover` anchors the card to `anchor` with an Orbit\npositioner in the Popover API top layer; `modal` and `bottom-sheet` render a\nnative `<dialog>` (centered panel or bottom-anchored sheet) with the\nstandard focus trap and background lock; `auto` picks bottom-sheet on narrow\nviewports and popover otherwise.\n\nKeyboard: Escape requests dismissal (native in dialog presentations, keydown\nin popover mode); ArrowLeft / ArrowRight emit `back` / `next` while open."
14509
+ },
14510
+ {
14511
+ "kind": "class",
14512
+ "name": "OreTourElement",
14513
+ "tagName": "ore-tour",
14514
+ "customElement": true,
14515
+ "description": "The step card of a product tour: a compact dialog with title, body, progress,\nand Skip / Back / Next actions (Skip leads the row, away from Next).\nThe card is deliberately dumb: it owns no step logic and no persistence. It\nrenders the step the app hands it and emits `next` / `back` / `skip` /\n`finish` / `dismiss`; a `@vielzeug/beacon` tour handle (or any state the app\nalready keeps) decides what happens. `bind(handle)` wires both directions in\none call, or the app drives the `open`, `title`, `description`,\n`step-index`, and `anchor` props and listens to the events itself.\nPresentations: `popover` anchors the card to `anchor` with an Orbit\npositioner in the Popover API top layer; `modal` and `bottom-sheet` render a\nnative `<dialog>` (centered panel or bottom-anchored sheet) with the\nstandard focus trap and background lock; `auto` picks bottom-sheet on narrow\nviewports and popover otherwise.\nKeyboard: Escape requests dismissal (native in dialog presentations, keydown\nin popover mode); ArrowLeft / ArrowRight emit `back` / `next` while open.\n card and route the card's actions back into it. Returns an unsubscribe.",
14516
+ "summary": "",
14517
+ "attributes": [
14518
+ {
14519
+ "name": "anchor",
14520
+ "type": {
14521
+ "text": "object"
14522
+ },
14523
+ "description": "Anchor element, virtual reference, or viewport-space rect (popover mode)"
14524
+ },
14525
+ {
14526
+ "name": "description",
14527
+ "type": {
14528
+ "text": "string"
14529
+ },
14530
+ "description": "Body text (replaced by the default slot)"
14531
+ },
14532
+ {
14533
+ "name": "dismissible",
14534
+ "type": {
14535
+ "text": "boolean"
14536
+ },
14537
+ "description": "Show a close (×) button (default true)"
14538
+ },
14539
+ {
14540
+ "name": "initial-focus",
14541
+ "type": {
14542
+ "text": "string"
14543
+ },
14544
+ "description": "Selector for the element to focus on open (dialog presentations)"
14545
+ },
14546
+ {
14547
+ "name": "offset",
14548
+ "type": {
14549
+ "text": "number"
14550
+ },
14551
+ "description": "Anchor gap in px (popover mode, default 8)"
14552
+ },
14553
+ {
14554
+ "name": "open",
14555
+ "type": {
14556
+ "text": "boolean"
14557
+ },
14558
+ "description": "Controlled open state"
14559
+ },
14560
+ {
14561
+ "name": "persistent",
14562
+ "type": {
14563
+ "text": "boolean"
14564
+ },
14565
+ "description": "Escape/backdrop do not request dismissal"
14566
+ },
14567
+ {
14568
+ "name": "placement",
14569
+ "type": {
14570
+ "text": "string"
14571
+ },
14572
+ "description": "Popover placement (default 'bottom')"
14573
+ },
14574
+ {
14575
+ "name": "presentation",
14576
+ "type": {
14577
+ "text": "'bottom-sheet' | 'modal' | 'popover'"
14578
+ },
14579
+ "description": "'auto' (default) | 'bottom-sheet' | 'modal' | 'popover'"
14580
+ },
14581
+ {
14582
+ "name": "return-focus",
14583
+ "type": {
14584
+ "text": "boolean"
14585
+ },
14586
+ "description": "Restore focus after the card closes (default true)"
14587
+ },
14588
+ {
14589
+ "name": "spotlight",
14590
+ "type": {
14591
+ "text": "boolean"
14592
+ },
14593
+ "description": "Dim the page around the anchor with an ore-spotlight cutout"
14594
+ },
14595
+ {
14596
+ "name": "step-index",
14597
+ "type": {
14598
+ "text": "number"
14599
+ },
14600
+ "description": "Zero-based current step (default 0)"
14601
+ },
14602
+ {
14603
+ "name": "title",
14604
+ "type": {
14605
+ "text": "string"
14606
+ },
14607
+ "description": "Card title"
14608
+ },
14609
+ {
14610
+ "name": "total-steps",
14611
+ "type": {
14612
+ "text": "number"
14613
+ },
14614
+ "description": "Total steps; >0 shows the progress bar and step counter"
14615
+ }
14616
+ ],
14617
+ "events": [
14618
+ {
14619
+ "name": "back",
14620
+ "description": "Back was requested.",
14621
+ "type": {
14622
+ "text": "CustomEvent"
14623
+ }
14624
+ },
14625
+ {
14626
+ "name": "dismiss",
14627
+ "description": "Close was requested. detail: { reason }",
14628
+ "type": {
14629
+ "text": "CustomEvent"
14630
+ }
14631
+ },
14632
+ {
14633
+ "name": "finish",
14634
+ "description": "Advance was pressed on the final step.",
14635
+ "type": {
14636
+ "text": "CustomEvent"
14637
+ }
14638
+ },
14639
+ {
14640
+ "name": "next",
14641
+ "description": "Next was requested.",
14642
+ "type": {
14643
+ "text": "CustomEvent"
14644
+ }
14645
+ },
14646
+ {
14647
+ "name": "open-change",
14648
+ "description": "Open state changed. detail: { open, reason }",
14649
+ "type": {
14650
+ "text": "CustomEvent"
14651
+ }
14652
+ },
14653
+ {
14654
+ "name": "skip",
14655
+ "description": "Skip was requested.",
14656
+ "type": {
14657
+ "text": "CustomEvent"
14658
+ }
14659
+ }
14660
+ ],
14661
+ "slots": [
14662
+ {
14663
+ "name": "media",
14664
+ "description": "Full-bleed media above the copy: an img, picture, video, or svg"
14665
+ },
14666
+ {
14667
+ "name": "",
14668
+ "description": "Body content (replaces `description`)"
14669
+ },
14670
+ {
14671
+ "name": "footer",
14672
+ "description": "Custom footer actions (replaces Skip/Back/Next)"
14673
+ }
14674
+ ],
14675
+ "cssParts": [
14676
+ {
14677
+ "name": "dialog",
14678
+ "description": "Native dialog root (dialog presentations)."
14679
+ },
14680
+ {
14681
+ "name": "overlay",
14682
+ "description": "Dialog backdrop element."
14683
+ },
14684
+ {
14685
+ "name": "float",
14686
+ "description": "Popover-mode panel."
14687
+ },
14688
+ {
14689
+ "name": "panel",
14690
+ "description": "Dialog-mode panel."
14691
+ },
14692
+ {
14693
+ "name": "card",
14694
+ "description": "Card container inside either panel."
14695
+ },
14696
+ {
14697
+ "name": "media",
14698
+ "description": "Full-bleed media region above the copy (hidden while the slot is empty)."
14699
+ },
14700
+ {
14701
+ "name": "header",
14702
+ "description": "Header container."
14703
+ },
14704
+ {
14705
+ "name": "title",
14706
+ "description": "Title text element."
14707
+ },
14708
+ {
14709
+ "name": "step-count",
14710
+ "description": "Visible \"Step N of M\" label beside the progress bar."
14711
+ },
14712
+ {
14713
+ "name": "close",
14714
+ "description": "Close action control."
14715
+ },
14716
+ {
14717
+ "name": "body",
14718
+ "description": "Body content container."
14719
+ },
14720
+ {
14721
+ "name": "footer",
14722
+ "description": "Footer container."
14723
+ }
14724
+ ],
14725
+ "cssProperties": [
14726
+ {
14727
+ "name": "--tour-bg",
14728
+ "description": "Card background color"
14729
+ },
14730
+ {
14731
+ "name": "--tour-border-color",
14732
+ "description": "Card border color"
14733
+ },
14734
+ {
14735
+ "name": "--tour-max-width",
14736
+ "description": "Card max width (default 22rem)"
14737
+ },
14738
+ {
14739
+ "name": "--tour-media-max-height",
14740
+ "description": "Media ceiling (default min(38dvh, 16rem); bottom-sheet min(26dvh, 12rem))"
14741
+ },
14742
+ {
14743
+ "name": "--tour-panel-blur",
14744
+ "description": "Backdrop blur behind the translucent card (default var(--blur-md))"
14745
+ },
14746
+ {
14747
+ "name": "--tour-radius",
14748
+ "description": "Card border radius"
14749
+ },
14750
+ {
14751
+ "name": "--tour-shadow",
14752
+ "description": "Card drop shadow"
14753
+ }
14754
+ ],
14755
+ "demos": [
14756
+ {
14757
+ "url": "",
14758
+ "description": "```html\n<ore-tour open title=\"Welcome\" description=\"Start here.\" step-index=\"0\" total-steps=\"3\"></ore-tour>\n<script type=\"module\">\n import '@vielzeug/refine/tour';\n const card = document.querySelector('ore-tour');\n card.anchor = document.querySelector('#save-button');\n card.addEventListener('next', () => console.log('advance'));\n</script>\n```"
14759
+ }
14760
+ ]
14357
14761
  }
14358
14762
  ]