@nectary/labs 2.5.38 → 2.5.39

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.
@@ -0,0 +1,19 @@
1
+ <sinch-popover
2
+ aria-label="Select color"
3
+ orientation="bottom-right"
4
+ modal
5
+ >
6
+ <sinch-select-button
7
+ slot="target"
8
+ placeholder="Select color"
9
+ aria-label="Open color select"
10
+ >
11
+ <sinch-color-swatch slot="icon"></sinch-color-swatch>
12
+ </sinch-select-button>
13
+ <sinch-color-menu
14
+ slot="content"
15
+ aria-label="Color menu"
16
+ >
17
+ <sinch-color-menu-option value="violet"></sinch-color-menu-option>
18
+ </sinch-color-menu>
19
+ </sinch-popover>
package/package.json CHANGED
@@ -1,13 +1,15 @@
1
1
  {
2
2
  "name": "@nectary/labs",
3
- "version": "2.5.38",
3
+ "version": "2.5.39",
4
4
  "files": [
5
5
  "**/*/*.css",
6
6
  "**/*/*.json",
7
7
  "**/*/*.js",
8
8
  "**/*/*.d.ts",
9
9
  "*.d.ts",
10
- "*.js"
10
+ "*.js",
11
+ "*.html",
12
+ "**/*/*.html"
11
13
  ],
12
14
  "publishConfig": {
13
15
  "access": "public"
@@ -0,0 +1,78 @@
1
+ <style>
2
+ :where(*, *::before, *::after) {
3
+ box-sizing: border-box;
4
+ padding: 0;
5
+ border: 0;
6
+ margin: 0;
7
+ font: inherit;
8
+ }
9
+
10
+ :host {
11
+ --base-size: 288px; /* 18rem */
12
+ --aspect-ratio: 1 / 2.1;
13
+ --scale: 1;
14
+
15
+ inline-size: min(100%, var(--base-size));
16
+ aspect-ratio: var(--aspect-ratio);
17
+ overflow: hidden;
18
+ display: block;
19
+ }
20
+
21
+ section {
22
+ position: relative;
23
+ inline-size: var(--base-size);
24
+ aspect-ratio: var(--aspect-ratio);
25
+ scale: var(--scale);
26
+ transform-origin: top left;
27
+ overflow: hidden;
28
+ display: flex;
29
+ flex-flow: column;
30
+ padding: 12px;
31
+ border: 1px solid var(--sinch-sys-color-border-strong);
32
+ border-radius: 32px;
33
+ background: var(--sinch-sys-color-surface-primary-default);
34
+ }
35
+
36
+ section > header {
37
+ position: sticky;
38
+ inset-block-start: 0;
39
+ display: flex;
40
+ justify-content: space-between;
41
+ padding: 16px;
42
+ background: var(--sinch-sys-color-surface-primary-default);
43
+ font: var(--sinch-sys-font-body-xxs);
44
+ }
45
+
46
+ section > header > svg {
47
+ inline-size: 48px;
48
+ }
49
+
50
+ section > div {
51
+ flex: 1;
52
+ overflow-y: auto;
53
+ scrollbar-width: none;
54
+ border-end-start-radius: 16px;
55
+ border-end-end-radius: 16px;
56
+ }
57
+ </style>
58
+ <section>
59
+ <header>
60
+ <span id="clock"></span>
61
+ <svg viewBox="0 0 50 12">
62
+ <path
63
+ d="M13.2 2.4h-.7c-.4 0-.7.3-.7.7v6.2c0 .4.3.8.7.8h.7c.4 0 .7-.4.7-.8V3.1c0-.4-.3-.7-.7-.7ZM9.4 4.2h.6c.4 0 .7.3.7.7v4.5c0 .3-.3.7-.7.7h-.6c-.4 0-.7-.4-.7-.7V4.9c0-.4.3-.7.7-.7ZM6.9 6h-.7c-.4 0-.7.3-.7.7v2.7c0 .4.3.7.7.7h.7c.4 0 .7-.3.7-.7V6.7c0-.4-.3-.7-.7-.7ZM3.7 7.3H3c-.3 0-.6.4-.6.7v1.4c0 .4.3.7.6.7h.7c.4 0 .7-.3.7-.7V8c0-.3-.3-.7-.7-.7Zm19.4-3.7c1.7 0 3.3.7 4.5 1.8h.3l.8-.9.1-.1-.1-.2a8 8 0 0 0-11.1 0l-.1.2.1.1.8.9h.3a6.7 6.7 0 0 1 4.4-1.8Zm0 2.8a4 4 0 0 1 2.5 1h.3l.9-.9v-.3a5.4 5.4 0 0 0-7.3 0v.3l.9.9h.3c.7-.6 1.5-1 2.4-1Zm1.8 1.9-.1.2-1.5 1.5-.2.1-.1-.1-1.5-1.5-.1-.2.1-.1c1-.8 2.3-.8 3.3 0l.1.1Z"
64
+ />
65
+ <rect width="12.6" height="5.4" x="33.3" y="3.5" rx=".9" />
66
+ <path fill="#999" d="M48 4.9v2.7c.5-.3.9-.8.9-1.4 0-.6-.4-1.1-.9-1.3Z" />
67
+ <path
68
+ fill="none"
69
+ stroke="#999"
70
+ stroke-width=".7"
71
+ d="M32.3 4.4a2 2 0 0 1 1.9-1.9H45c1.1 0 2 .9 2 1.9V8c0 1.1-.9 1.9-2 1.9H34.2c-1 0-1.9-.8-1.9-1.9V4.4Z"
72
+ />
73
+ </svg>
74
+ </header>
75
+ <div>
76
+ <slot></slot>
77
+ </div>
78
+ </section>
@@ -0,0 +1,76 @@
1
+ <style>
2
+ :where(*, *::before, *::after) {
3
+ box-sizing: border-box;
4
+ padding: 0;
5
+ border: 0;
6
+ margin: 0;
7
+ font: inherit;
8
+ }
9
+
10
+ :host {
11
+ --banner-color: var(--sinch-sys-color-surface-tertiary-active);
12
+ --logo-color: var(--sinch-sys-color-surface-secondary-default);
13
+
14
+ display: flex;
15
+ flex-flow: column;
16
+ color: var(--sinch-sys-color-text-default);
17
+ }
18
+
19
+ #banner-img {
20
+ block-size: 70px;
21
+ margin-block-end: -40px;
22
+ background: var(--banner-color);
23
+ }
24
+
25
+ #logo-img {
26
+ block-size: 64px;
27
+ inline-size: 64px;
28
+ border-radius: 100%;
29
+ background: var(--logo-color);
30
+ align-self: center;
31
+ }
32
+
33
+ #brand-name {
34
+ padding: 8px 24px;
35
+ font: var(--sinch-sys-font-body-m);
36
+ text-align: center;
37
+ text-wrap: balance;
38
+ word-wrap: break-word;
39
+ }
40
+
41
+ #brand-description {
42
+ padding-inline: 24px;
43
+ font: var(--sinch-sys-font-body-xs);
44
+ text-align: center;
45
+ text-wrap: balance;
46
+ word-wrap: break-word;
47
+ }
48
+
49
+ #actions {
50
+ align-self: center;
51
+ padding-block: 32px 24px;
52
+ }
53
+
54
+ #tabs {
55
+ padding-block-end: 8px;
56
+ }
57
+
58
+ #info-container {
59
+ display: block;
60
+ }
61
+
62
+ #options-container {
63
+ display: none;
64
+ }
65
+ </style>
66
+
67
+ <img id="banner-img" alt="" />
68
+ <img id="logo-img" alt="" />
69
+ <h1 id="brand-name">Brand name</h1>
70
+ <p id="brand-description">Brand description</p>
71
+ <sinch-labs-phone-preview-rcs-channel-actions id="actions"></sinch-labs-phone-preview-rcs-channel-actions>
72
+ <sinch-labs-phone-preview-rcs-channel-tabs id="tabs"></sinch-labs-phone-preview-rcs-channel-tabs>
73
+ <sinch-labs-phone-preview-rcs-channel-info id="info-container">
74
+ <slot name="contacts"></slot>
75
+ </sinch-labs-phone-preview-rcs-channel-info>
76
+ <sinch-labs-phone-preview-rcs-channel-options id="options-container"></sinch-labs-phone-preview-rcs-channel-options>
@@ -0,0 +1,52 @@
1
+ <style>
2
+ :where(*, *::before, *::after) {
3
+ box-sizing: border-box;
4
+ padding: 0;
5
+ border: 0;
6
+ margin: 0;
7
+ font: inherit;
8
+ }
9
+
10
+ .actions {
11
+ display: grid;
12
+ grid-auto-columns: 1fr;
13
+ grid-auto-flow: column;
14
+ gap: 24px;
15
+ font: var(--sinch-sys-font-body-xs);
16
+ }
17
+
18
+ .actions > a {
19
+ display: flex;
20
+ flex-flow: column;
21
+ align-items: center;
22
+ gap: 2px;
23
+ color: inherit;
24
+ text-decoration: none;
25
+ }
26
+
27
+ .actions > a[inert] {
28
+ --sinch-global-color-icon: currentcolor;
29
+
30
+ color: var(--sinch-sys-color-text-muted);
31
+ }
32
+ </style>
33
+
34
+ <section class="actions">
35
+ <!-- Call button -->
36
+ <a id="call-action" target="_blank">
37
+ <sinch-icon icons-version="2" name="fa-phone" class="icon-link"></sinch-icon>
38
+ Call
39
+ </a>
40
+
41
+ <!-- Website button -->
42
+ <a id="website-action" target="_blank">
43
+ <sinch-icon icons-version="2" name="fa-earth-americas" name="public" class="icon-link"></sinch-icon>
44
+ Website
45
+ </a>
46
+
47
+ <!-- Email button -->
48
+ <a id="email-action" target="_blank">
49
+ <sinch-icon icons-version="2" name="envelope" name="mail" class="icon-link"></sinch-icon>
50
+ Email
51
+ </a>
52
+ </section>
@@ -0,0 +1,20 @@
1
+ <style>
2
+ :where(*, *::before, *::after) {
3
+ box-sizing: border-box;
4
+ padding: 0;
5
+ border: 0;
6
+ margin: 0;
7
+ font: inherit;
8
+ }
9
+
10
+ .info {
11
+ display: flex;
12
+ flex-flow: column;
13
+ font: var(--sinch-sys-font-body-xs);
14
+ }
15
+ </style>
16
+
17
+ <section class="info" id="info-container">
18
+ <slot name="contacts"></slot>
19
+ <slot></slot>
20
+ </section>
@@ -0,0 +1,58 @@
1
+ <style>
2
+ :where(*, *::before, *::after) {
3
+ box-sizing: border-box;
4
+ padding: 0;
5
+ border: 0;
6
+ margin: 0;
7
+ font: inherit;
8
+ }
9
+
10
+ a {
11
+ display: grid;
12
+ grid-template:
13
+ "icon contact" auto
14
+ "icon label " auto
15
+ / auto 1fr;
16
+ align-items: center;
17
+ gap: 0 16px;
18
+ padding: 8px 16px;
19
+ border-block-end:
20
+ 1px solid
21
+ var(--sinch-sys-color-surface-secondary-active);
22
+ color: currentcolor;
23
+ word-break: break-all;
24
+ text-decoration: none;
25
+ }
26
+
27
+ a > sinch-icon {
28
+ grid-area: icon;
29
+ }
30
+
31
+ a > #contact {
32
+ grid-area: contact;
33
+ }
34
+
35
+ a > #contact::before {
36
+ content: "\200b";
37
+ }
38
+
39
+ a > #label {
40
+ grid-area: label;
41
+ }
42
+
43
+ a > #label::before {
44
+ content: "\200b";
45
+ }
46
+
47
+ a[inert] {
48
+ --sinch-global-color-icon: currentcolor;
49
+
50
+ color: var(--sinch-sys-color-text-muted);
51
+ }
52
+ </style>
53
+
54
+ <a target="_blank">
55
+ <sinch-icon icons-version="2"></sinch-icon>
56
+ <span id="contact"></span>
57
+ <p id="label"></p>
58
+ </a>
@@ -0,0 +1,46 @@
1
+ <style>
2
+ :where(*, *::before, *::after) {
3
+ box-sizing: border-box;
4
+ padding: 0;
5
+ border: 0;
6
+ margin: 0;
7
+ font: inherit;
8
+ }
9
+
10
+ .options {
11
+ display: flex;
12
+ flex-flow: column;
13
+ font: var(--sinch-sys-font-body-xs);
14
+ }
15
+
16
+ .options > header {
17
+ padding-block-end: 8px;
18
+ }
19
+
20
+ .options > span {
21
+ font: var(--sinch-sys-font-body-xxs);
22
+ }
23
+
24
+ .options > button {
25
+ padding: 4px;
26
+ outline: none;
27
+ background: transparent;
28
+ text-align: start;
29
+ }
30
+
31
+ .options > hr {
32
+ border-color: var(--sinch-sys-color-surface-secondary-active);
33
+ }
34
+ </style>
35
+
36
+ <section class="options" id="options-container">
37
+ <header>Notifications</header>
38
+ <span>Business</span>
39
+ <button>Block & report spam</button>
40
+ <hr />
41
+ <button>View Privacy Policy</button>
42
+ <hr />
43
+ <button>View Terms of Service</button>
44
+ <hr />
45
+ <button>Learn mode</button>
46
+ </section>
@@ -0,0 +1,35 @@
1
+ <style>
2
+ :where(*, *::before, *::after) {
3
+ box-sizing: border-box;
4
+ padding: 0;
5
+ border: 0;
6
+ margin: 0;
7
+ font: inherit;
8
+ }
9
+
10
+ .tabs {
11
+ --highlight-color: var(--sinch-sys-color-text-default);
12
+
13
+ display: flex;
14
+ }
15
+
16
+ .tabs > button {
17
+ flex: 1;
18
+ padding-block-end: 10px;
19
+ border-block-end: 2px solid transparent;
20
+ outline: none;
21
+ background: transparent;
22
+ color: var(--sinch-sys-color-text-disabled);
23
+ font: var(--sinch-sys-font-desktop-title-xs);
24
+ }
25
+
26
+ .tabs > button.active {
27
+ color: var(--sinch-sys-color-primary-default);
28
+ border-block-end: 2px solid var(--highlight-color);
29
+ }
30
+ </style>
31
+
32
+ <section class="tabs" id="tabs-container">
33
+ <button>Info</button>
34
+ <button>Options</button>
35
+ </section>
@@ -0,0 +1,121 @@
1
+ <style>
2
+ :where(*, *::before, *::after) {
3
+ box-sizing: border-box;
4
+ padding: 0;
5
+ border: 0;
6
+ margin: 0;
7
+ font: inherit;
8
+ }
9
+
10
+ .root {
11
+ --logo-color: var(--sinch-sys-color-surface-secondary-default);
12
+
13
+ block-size: 100%;
14
+ display: flex;
15
+ flex-flow: column;
16
+ }
17
+
18
+ .root > header {
19
+ display: flex;
20
+ gap: 8px;
21
+ padding: 12px 4px;
22
+ background: var(--sinch-sys-color-surface-tertiary-default);
23
+ font: var(--sinch-sys-font-body-m);
24
+ }
25
+
26
+ .root > header > img {
27
+ block-size: 24px;
28
+ inline-size: 24px;
29
+ margin-inline-start: 8px;
30
+ border-radius: 100%;
31
+ background: var(--logo-color);
32
+ }
33
+
34
+ .root > header > h1 {
35
+ flex: 1;
36
+ overflow: hidden;
37
+ min-inline-size: 0;
38
+ text-wrap: nowrap;
39
+ text-overflow: ellipsis;
40
+ }
41
+
42
+ .root > div {
43
+ flex: 1;
44
+ overflow-y: auto;
45
+ scrollbar-width: none;
46
+ display: flex;
47
+ flex-flow: column;
48
+ gap: 8px;
49
+ padding: 8px;
50
+ margin-block-end: 8px;
51
+ }
52
+
53
+ .root > div > img {
54
+ block-size: 64px;
55
+ inline-size: 64px;
56
+ border-radius: 100%;
57
+ align-self: center;
58
+ background: var(--logo-color);
59
+ }
60
+
61
+ .root > div > p {
62
+ padding-inline: 24px;
63
+ font: var(--sinch-sys-font-body-xs);
64
+ text-align: center;
65
+ text-wrap: balance;
66
+ word-wrap: break-word;
67
+ }
68
+
69
+ .root > div > hr {
70
+ border-block-end: 1px solid var(--sinch-sys-color-border-subtle);
71
+ }
72
+
73
+ .root > footer {
74
+ display: flex;
75
+ align-items: center;
76
+ gap: 8px;
77
+ font: var(--sinch-sys-font-body-xs);
78
+ }
79
+
80
+ .root > footer > div {
81
+ flex: 1;
82
+ display: flex;
83
+ align-items: center;
84
+ gap: 8px;
85
+ padding: 8px 16px;
86
+ border-radius: 24px;
87
+ background: var(--sinch-sys-color-surface-primary-active);
88
+ }
89
+
90
+ .root > footer > div > span {
91
+ flex: 1;
92
+ }
93
+ </style>
94
+ <section class="root">
95
+ <header>
96
+ <sinch-icon icons-version="2" name="fa-arrow-left"></sinch-icon>
97
+ <img id="header-logo" alt="" />
98
+ <h1 id="brand-name">Brand name</h1>
99
+ <sinch-icon icons-version="2" name="fa-shield-check"></sinch-icon>
100
+ <sinch-icon icons-version="2" name="fa-ellipsis-vertical"></sinch-icon>
101
+ </header>
102
+ <div>
103
+ <img id="main-logo" alt="" />
104
+ <p id="brand-description">Brand description</p>
105
+ <hr />
106
+ <slot name="messages">
107
+ <!-- Default messages when no slotted content -->
108
+ <sinch-labs-phone-preview-rcs-chat-message text="Hello! How can I help you today?"></sinch-labs-phone-preview-rcs-chat-message>
109
+ <sinch-labs-phone-preview-rcs-chat-message text="We're here to assist you."></sinch-labs-phone-preview-rcs-chat-message>
110
+ </slot>
111
+ </div>
112
+ <footer>
113
+ <sinch-icon icons-version="2" name="fa-circle-plus"></sinch-icon>
114
+ <sinch-icon icons-version="2" name="fa-camera"></sinch-icon>
115
+ <div>
116
+ <span>RCS Message</span>
117
+ <sinch-icon icons-version="2" name="fa-face-smile"></sinch-icon>
118
+ <sinch-icon icons-version="2" name="microphone"></sinch-icon>
119
+ </div>
120
+ </footer>
121
+ </section>
@@ -0,0 +1,18 @@
1
+ <style>
2
+ :host {
3
+ display: block;
4
+ }
5
+
6
+ .message {
7
+ padding: 8px 12px;
8
+ margin-inline-end: 8px;
9
+ border-radius: 16px;
10
+ border-end-start-radius: 0;
11
+ background: var(--sinch-sys-color-feedback-info-subtle);
12
+ font: var(--sinch-sys-font-body-xs);
13
+ }
14
+ </style>
15
+
16
+ <section class="message">
17
+ <span id="message-text">Sample message</span>
18
+ </section>