@synopackageland/ui 0.21.1 → 0.22.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 +9 -0
- package/dist/components/app/app-layout/AppLayout.vue.d.ts +8 -0
- package/dist/index.js +6249 -6202
- package/dist/json-preview/preview.js +6012 -5965
- package/dist/reka-runtime.json +1 -1
- package/dist/theme.css +1 -1
- package/dist/themes/dsm7-embedded-theme.css +1 -1
- package/dist/themes/dsm7-embedded.css +1 -1
- package/dist/themes/dsm7.css +1 -1
- package/docs/mobile-native.md +49 -5
- package/package.json +1 -1
package/docs/mobile-native.md
CHANGED
|
@@ -414,7 +414,7 @@ Where it is used:
|
|
|
414
414
|
|---|---|---|
|
|
415
415
|
| `ListDetail` | the list fills the room; the detail is pushed over it, with Back in place of Close | the split view, unchanged |
|
|
416
416
|
| `SectionTabs`, five or more sections or `fill` (a settings page) | a grouped list (`group` on each item sets the blocks, 48px rows with a chevron) that pushes the tapped section; `v-model:pushed` | the strip |
|
|
417
|
-
| `SectionTabs`, four or fewer sections | the scrolling underline strip on a touch phone
|
|
417
|
+
| `SectionTabs`, four or fewer sections | the scrolling underline strip on a touch phone; a full-width SegmentControl with equal segments in a narrow window used with a mouse, or with `phone="segment"` | the strip |
|
|
418
418
|
| `SectionTabs` with `phone="strip"` | the scrolling strip, for tabs inside a pushed page or a sheet | the strip |
|
|
419
419
|
|
|
420
420
|
`phone` (`auto`, `list`, `segment`, `strip`) overrides the choice. A phone
|
|
@@ -503,7 +503,7 @@ them at the bottom of the screen). The root carries
|
|
|
503
503
|
`data-ui-layout-scroll="page"`. A DataGrid or another page that scrolls
|
|
504
504
|
itself keeps its layout.
|
|
505
505
|
|
|
506
|
-
### Native phone shell
|
|
506
|
+
### Native phone shell
|
|
507
507
|
|
|
508
508
|
A *touch phone* is an `AppLayout` 640px or narrower under a coarse pointer
|
|
509
509
|
(the root carries `data-ui-phone`). A narrow DSM window driven by a mouse is
|
|
@@ -538,15 +538,22 @@ change: the same slot moves.
|
|
|
538
538
|
- Rare or destructive items belong in `headerActions` ("…" in the bar), not
|
|
539
539
|
in the page actions.
|
|
540
540
|
- `phone-actions` on `AppLayout`, and on a `PageHeader`, `AppToolbar` or
|
|
541
|
-
`PushTransition` for one page: `fab` (default), `bar` (icons in the bar
|
|
542
|
-
in 0.20.20) or `inline` (the page's own header row).
|
|
541
|
+
`PushTransition` for one page: `fab` (default), `bar` (icons in the bar) or `inline` (the page's own header row).
|
|
543
542
|
- `PageFab` picks the FAB explicitly: `<PageFab><Button variant="primary">…</Button></PageFab>`
|
|
544
543
|
inside the page's actions. On a touch phone its content is the FAB and the
|
|
545
544
|
page's other actions go to the bar; elsewhere it renders in place.
|
|
546
545
|
- A page whose primary action is in a footer bar (a `SettingsPage` footer, a
|
|
547
546
|
sticky `FormActions`) keeps its actions in the bar: the bottom already has a
|
|
548
547
|
primary. Content gets `--ui-fab-room` (88px) of bottom padding so the last
|
|
549
|
-
row is never under the FAB.
|
|
548
|
+
row is never under the FAB; there is no room while no FAB is drawn.
|
|
549
|
+
- A fill page (its content scrolls itself: `PageContent height="fill"`, or an
|
|
550
|
+
App shell that keeps the PageContent from scrolling; PageContent marks it
|
|
551
|
+
`data-ui-page-fills`) keeps that room only while the FAB is in view. While
|
|
552
|
+
the FAB is hidden on scroll or by the keyboard, the content's own scroller
|
|
553
|
+
takes the room down to the bars' edge, together with the room the hidden
|
|
554
|
+
bars give back, so no blank band is left under it. A page that scrolls as a
|
|
555
|
+
whole keeps the room at its end, so its length never changes under the
|
|
556
|
+
finger.
|
|
550
557
|
- A toast sits 8px above the FAB while the FAB is shown, and back at its own
|
|
551
558
|
place while the FAB is hidden on scroll or by the keyboard, and steps aside
|
|
552
559
|
(fades out) while the speed dial is open; it moves with the bars (`--ui-motion-bars`, at once with reduced motion). A page without a FAB,
|
|
@@ -573,6 +580,43 @@ than the bars' room never hides them.
|
|
|
573
580
|
footer stays at rest: it slides away only with the bars, so Reset / Apply
|
|
574
581
|
never appear or vanish under the finger while the user edits.
|
|
575
582
|
|
|
583
|
+
**Bottom accessory.** `AppLayout`'s `#accessory` slot is a bar across the
|
|
584
|
+
bottom of the page for something the App is running (a recording bar, a mini
|
|
585
|
+
player). Put the bar's content in it, with `v-if` while nothing runs (an
|
|
586
|
+
empty slot draws nothing):
|
|
587
|
+
|
|
588
|
+
```vue
|
|
589
|
+
<AppLayout>
|
|
590
|
+
…
|
|
591
|
+
<template #accessory><RecordingBar v-if="recording" /></template>
|
|
592
|
+
<template #tabbar><AppTabBar v-model="tab" :items="tabs" /></template>
|
|
593
|
+
</AppLayout>
|
|
594
|
+
```
|
|
595
|
+
|
|
596
|
+
- On a phone it docks right above the tab bar (the bottom-most bar without
|
|
597
|
+
one, over the home indicator's strip), with a 1px rule on top and the bar's
|
|
598
|
+
colour.
|
|
599
|
+
- It stays while the bars hide on scroll: it slides down into the tab bar's
|
|
600
|
+
place, in `--ui-motion-bars`, and comes back up with it. It hides while the
|
|
601
|
+
keyboard is up on a touch phone, as the tab bar does.
|
|
602
|
+
- The layout measures it (`--ui-bottom-accessory-height`, also on the App's
|
|
603
|
+
root) and lifts what must stay clear of it: the FAB sits 16px above it, a
|
|
604
|
+
toast above the FAB (or above the accessory without one), an AsidePanel's
|
|
605
|
+
phone button above it, and the page's end clears it. An App sets none of `--ui-tab-bar-height`, `--ui-fab-tab-bar` or
|
|
606
|
+
toast offsets for it.
|
|
607
|
+
- Elsewhere (a DSM window, a desktop) it is the column's bottom row, sticking
|
|
608
|
+
to the bottom while the document scrolls.
|
|
609
|
+
|
|
610
|
+
**Sticky rows in a padded page scroller.** An App shell that makes the
|
|
611
|
+
PageContent its page's scroller and pads its top (a page without a header)
|
|
612
|
+
would leave a stuck row (a group heading, a DataGrid's header row) that
|
|
613
|
+
padding below the scroller's top, with the rows scrolling under it showing
|
|
614
|
+
in the strip above. PageContent covers that strip
|
|
615
|
+
(`[data-ui-page-scroll-cover]`, in the page header's colour; the padding is
|
|
616
|
+
`--ui-page-scroll-pad`), so a stuck row reads as flush with the bar above it.
|
|
617
|
+
The content starts where it did, and a `position: sticky; top: 0` row needs
|
|
618
|
+
no offset of its own.
|
|
619
|
+
|
|
576
620
|
**Footer hints.** In any footer bar (`data-ui-footer-bar`: SettingsPage,
|
|
577
621
|
Dialog, Sheet, BottomSheet, Card, Panel, Wizard, AppActionBar) a hint or
|
|
578
622
|
status beside the buttons ("Enter a Custom ASR API key") takes a full-width
|