@birdycom/omniaui-vue 0.12.0 → 0.12.2
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/dist/components/OcLinkRow.vue.d.ts +25 -0
- package/dist/components/OcLiveFrame.vue.d.ts +30 -0
- package/dist/components/OcWatermark.vue.d.ts +31 -0
- package/dist/index.d.ts +4 -1
- package/dist/omniaui-vue.js +1249 -1175
- package/dist/omniaui-vue.js.map +1 -1
- package/manifest.json +18 -0
- package/package.json +1 -1
- package/src/components/OcLinkRow.vue +19 -0
- package/src/components/OcLiveFrame.vue +21 -0
- package/src/components/OcWatermark.vue +29 -0
- package/src/index.ts +9 -0
package/manifest.json
CHANGED
|
@@ -420,12 +420,24 @@
|
|
|
420
420
|
"file": "src/components/OcLinkArrow.vue",
|
|
421
421
|
"snippet": "@birdycom/omniaui/snippets/link-arrow.html"
|
|
422
422
|
},
|
|
423
|
+
{
|
|
424
|
+
"name": "OcLinkRow",
|
|
425
|
+
"kind": "component",
|
|
426
|
+
"file": "src/components/OcLinkRow.vue",
|
|
427
|
+
"snippet": "@birdycom/omniaui/snippets/link-row.html"
|
|
428
|
+
},
|
|
423
429
|
{
|
|
424
430
|
"name": "OcListToolbar",
|
|
425
431
|
"kind": "component",
|
|
426
432
|
"file": "src/components/OcListToolbar.vue",
|
|
427
433
|
"snippet": "@birdycom/omniaui/snippets/list-toolbar.html"
|
|
428
434
|
},
|
|
435
|
+
{
|
|
436
|
+
"name": "OcLiveFrame",
|
|
437
|
+
"kind": "component",
|
|
438
|
+
"file": "src/components/OcLiveFrame.vue",
|
|
439
|
+
"snippet": "@birdycom/omniaui/snippets/live-frame.html"
|
|
440
|
+
},
|
|
429
441
|
{
|
|
430
442
|
"name": "OcMarquee",
|
|
431
443
|
"kind": "component",
|
|
@@ -840,6 +852,12 @@
|
|
|
840
852
|
"file": "src/components/OcVersionBanner.vue",
|
|
841
853
|
"snippet": "@birdycom/omniaui/snippets/version-banner.html"
|
|
842
854
|
},
|
|
855
|
+
{
|
|
856
|
+
"name": "OcWatermark",
|
|
857
|
+
"kind": "component",
|
|
858
|
+
"file": "src/components/OcWatermark.vue",
|
|
859
|
+
"snippet": "@birdycom/omniaui/snippets/watermark.html"
|
|
860
|
+
},
|
|
843
861
|
{
|
|
844
862
|
"name": "OcBlockAboutTimeline",
|
|
845
863
|
"kind": "block",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@birdycom/omniaui-vue",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.2",
|
|
4
4
|
"description": "OmniaUI for Vue 3: one single-file component per OmniaUI component and block, rendering the exact markup of the CSS packages.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<!-- File: packages/vue/src/components/OcLinkRow.vue | Map: props (links, tone, size) -> ul.oc-link-row -> li > a per link, or the slot -->
|
|
2
|
+
<script setup lang="ts">
|
|
3
|
+
/** A row of links under a card; external links get an arrow, github.com links the GitHub mark (CSS, by the href).
|
|
4
|
+
* Classes: .oc-link-row + --accent/--muted, --sm/--lg */
|
|
5
|
+
withDefaults(
|
|
6
|
+
defineProps<{ links?: { href: string; label: string }[]; tone?: 'default' | 'accent' | 'muted'; size?: 'sm' | 'default' | 'lg' }>(),
|
|
7
|
+
{ tone: 'default', size: 'default' },
|
|
8
|
+
)
|
|
9
|
+
const external = (href: string) => /^https?:\/\//.test(href)
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
<template>
|
|
13
|
+
<ul :class="['oc-link-row', tone !== 'default' && `oc-link-row--${tone}`, size !== 'default' && `oc-link-row--${size}`]">
|
|
14
|
+
<template v-if="links">
|
|
15
|
+
<li v-for="(l, i) in links" :key="i"><a :href="l.href" :rel="external(l.href) ? 'noopener' : undefined">{{ l.label }}</a></li>
|
|
16
|
+
</template>
|
|
17
|
+
<slot v-else />
|
|
18
|
+
</ul>
|
|
19
|
+
</template>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<!-- File: packages/vue/src/components/OcLiveFrame.vue | Map: props (src, title, width, height, static) -> div.oc-live-frame -> iframe or slot -->
|
|
2
|
+
<script setup lang="ts">
|
|
3
|
+
/**
|
|
4
|
+
* A live page at a virtual size (default 1280x720), scaled down to the frame width in pure CSS. Without src the slot
|
|
5
|
+
* goes in (an <img>, <video> or .oc-live-frame__content). Classes: .oc-live-frame, --static, .oc-browser-frame__view
|
|
6
|
+
*/
|
|
7
|
+
withDefaults(
|
|
8
|
+
defineProps<{ src?: string; title?: string; width?: number; height?: number; static?: boolean; inBrowserFrame?: boolean }>(),
|
|
9
|
+
{ title: '', width: 1280, height: 720, static: false, inBrowserFrame: false },
|
|
10
|
+
)
|
|
11
|
+
</script>
|
|
12
|
+
|
|
13
|
+
<template>
|
|
14
|
+
<div
|
|
15
|
+
:class="[inBrowserFrame && 'oc-browser-frame__view', 'oc-live-frame', static && 'oc-live-frame--static']"
|
|
16
|
+
:style="{ '--oc-live-w': width, '--oc-live-h': height }"
|
|
17
|
+
>
|
|
18
|
+
<iframe v-if="src" :src="src" :title="title" loading="lazy" scrolling="no" :tabindex="static ? -1 : undefined" />
|
|
19
|
+
<slot v-else />
|
|
20
|
+
</div>
|
|
21
|
+
</template>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<!-- File: packages/vue/src/components/OcWatermark.vue | Map: props (text, variant, tone, repeat) -> span.oc-watermark (text once or tiled) -->
|
|
2
|
+
<script setup lang="ts">
|
|
3
|
+
/**
|
|
4
|
+
* Light text over its positioned parent (put it last inside an element with class="relative"). Click-through and
|
|
5
|
+
* aria-hidden. A logo or icon goes in the "mark" slot (<img> or <svg>) instead of text. Classes: .oc-watermark + --straight/--tile/--corner/--corner-top, --light/--primary/--destructive
|
|
6
|
+
*/
|
|
7
|
+
withDefaults(
|
|
8
|
+
defineProps<{
|
|
9
|
+
text?: string
|
|
10
|
+
variant?: 'diagonal' | 'straight' | 'tile' | 'corner' | 'corner-top'
|
|
11
|
+
tone?: 'default' | 'light' | 'primary' | 'destructive'
|
|
12
|
+
repeat?: number
|
|
13
|
+
mono?: boolean
|
|
14
|
+
}>(),
|
|
15
|
+
{ text: 'Concept', variant: 'diagonal', tone: 'default', repeat: 12, mono: false },
|
|
16
|
+
)
|
|
17
|
+
</script>
|
|
18
|
+
|
|
19
|
+
<template>
|
|
20
|
+
<span
|
|
21
|
+
:class="['oc-watermark', variant !== 'diagonal' && `oc-watermark--${variant}`, tone !== 'default' && `oc-watermark--${tone}`, mono && 'oc-watermark--mono']"
|
|
22
|
+
aria-hidden="true"
|
|
23
|
+
>
|
|
24
|
+
<template v-for="i in (variant === 'tile' ? Math.max(1, repeat) : 1)" :key="i">
|
|
25
|
+
<slot v-if="$slots.mark" name="mark" />
|
|
26
|
+
<span v-else><slot>{{ text }}</slot></span>
|
|
27
|
+
</template>
|
|
28
|
+
</span>
|
|
29
|
+
</template>
|
package/src/index.ts
CHANGED
|
@@ -71,7 +71,9 @@ import OcLanguageSelect from './components/OcLanguageSelect.vue'
|
|
|
71
71
|
import OcLauncherCard from './components/OcLauncherCard.vue'
|
|
72
72
|
import OcLightbox from './components/OcLightbox.vue'
|
|
73
73
|
import OcLinkArrow from './components/OcLinkArrow.vue'
|
|
74
|
+
import OcLinkRow from './components/OcLinkRow.vue'
|
|
74
75
|
import OcListToolbar from './components/OcListToolbar.vue'
|
|
76
|
+
import OcLiveFrame from './components/OcLiveFrame.vue'
|
|
75
77
|
import OcMarquee from './components/OcMarquee.vue'
|
|
76
78
|
import OcMediaCard from './components/OcMediaCard.vue'
|
|
77
79
|
import OcMediaRow from './components/OcMediaRow.vue'
|
|
@@ -141,6 +143,7 @@ import OcTree from './components/OcTree.vue'
|
|
|
141
143
|
import OcUpgradeBanner from './components/OcUpgradeBanner.vue'
|
|
142
144
|
import OcUser from './components/OcUser.vue'
|
|
143
145
|
import OcVersionBanner from './components/OcVersionBanner.vue'
|
|
146
|
+
import OcWatermark from './components/OcWatermark.vue'
|
|
144
147
|
import OcBlockAboutTimeline from './blocks/OcBlockAboutTimeline.vue'
|
|
145
148
|
import OcBlockAppHeader from './blocks/OcBlockAppHeader.vue'
|
|
146
149
|
import OcBlockAppShell from './blocks/OcBlockAppShell.vue'
|
|
@@ -245,7 +248,9 @@ export {
|
|
|
245
248
|
OcLauncherCard,
|
|
246
249
|
OcLightbox,
|
|
247
250
|
OcLinkArrow,
|
|
251
|
+
OcLinkRow,
|
|
248
252
|
OcListToolbar,
|
|
253
|
+
OcLiveFrame,
|
|
249
254
|
OcMarquee,
|
|
250
255
|
OcMediaCard,
|
|
251
256
|
OcMediaRow,
|
|
@@ -315,6 +320,7 @@ export {
|
|
|
315
320
|
OcUpgradeBanner,
|
|
316
321
|
OcUser,
|
|
317
322
|
OcVersionBanner,
|
|
323
|
+
OcWatermark,
|
|
318
324
|
OcBlockAboutTimeline,
|
|
319
325
|
OcBlockAppHeader,
|
|
320
326
|
OcBlockAppShell,
|
|
@@ -475,7 +481,9 @@ export const components: Record<string, Component> = {
|
|
|
475
481
|
OcLauncherCard,
|
|
476
482
|
OcLightbox,
|
|
477
483
|
OcLinkArrow,
|
|
484
|
+
OcLinkRow,
|
|
478
485
|
OcListToolbar,
|
|
486
|
+
OcLiveFrame,
|
|
479
487
|
OcMarquee,
|
|
480
488
|
OcMediaCard,
|
|
481
489
|
OcMediaRow,
|
|
@@ -545,6 +553,7 @@ export const components: Record<string, Component> = {
|
|
|
545
553
|
OcUpgradeBanner,
|
|
546
554
|
OcUser,
|
|
547
555
|
OcVersionBanner,
|
|
556
|
+
OcWatermark,
|
|
548
557
|
OcBlockAboutTimeline,
|
|
549
558
|
OcBlockAppHeader,
|
|
550
559
|
OcBlockAppShell,
|