@seamlet/astro 2.2.0 → 2.2.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/CHANGELOG.md +11 -3
- package/README.md +8 -8
- package/components/RequestForm.astro +3 -3
- package/dist/bridge.js +2 -2
- package/dist/{chunk-6MBWE5QT.js → chunk-3DQI4G6H.js} +1 -1
- package/dist/{chunk-M5XOTSSU.js → chunk-HFCQRPPJ.js} +12 -8
- package/dist/{chunk-TR7TTMQR.js → chunk-OA3GJYVY.js} +2 -2
- package/dist/{chunk-CRGGWROR.js → chunk-QSRFU2G3.js} +1 -1
- package/dist/cli.js +1 -1
- package/dist/client.js +1 -1
- package/dist/feeds.d.ts +3 -3
- package/dist/feeds.js +1 -1
- package/dist/index.js +4 -4
- package/dist/preview-requests.js +3 -3
- package/dist/protocol.js +2 -2
- package/dist/{request-sending-UQEY57Y6.js → request-sending-6NTXTW3A.js} +1 -1
- package/dist/routes/media.js +3 -3
- package/dist/schema.d.ts +2 -2
- package/dist/schema.js +1 -1
- package/dist/site.js +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.2.2
|
|
4
|
+
|
|
5
|
+
- The examples of the README, the comments and the tests name no real site: `my-site`, «Моя кофейня», `example.ru`. A CMS a feature needs is named by the version of the description it reads. Nothing behaves differently.
|
|
6
|
+
|
|
7
|
+
## 2.2.1
|
|
8
|
+
|
|
9
|
+
- The Russian texts a visitor and the owner read are edited to the copy rules of `.claude/skills/russian-copy`; nothing behaves differently. `RequestForm.astro` says «Заявка отправлена. Ответим по контактам, которые вы оставили.» once a request is sent and «Заявка не ушла. Всё, что вы ввели, осталось в форме — отправьте ещё раз через минуту.» when it is not; the hidden trap field reads «Оставьте это поле пустым». `REQUEST_ISSUE_TEXTS`: «Слишком длинный текст — сократите его», «Проверьте почту: нужен адрес вида name@mail.ru», «Выберите вариант из списка». The labels of the presets: `note` of `openingHoursField()` is «Примечание», `summary` of `productFields()` «Строка для карточки», `image` of `seoFields()` «Картинка для ссылки в соцсетях». `privacyPolicyTextOf` fixes two sentences of section 5 that did not agree in grammar; its legal meaning is the same.
|
|
10
|
+
|
|
3
11
|
## 2.2.0
|
|
4
12
|
|
|
5
13
|
- Moving parts: `data-cms-popover` (`POPOVER_ATTRIBUTE`) on a part of the page that moves, or on a marked element, has its fields edited in the editor's popover instead of typed in place, and in the editor the part holds still while the pointer is over it and once one of its fields is chosen: the bridge pauses its CSS animations and transitions and sets `data-cms-held` (`HELD_ATTRIBUTE`), by which a site stops motion it runs with a script. The protocol is the same, so every editor reads it.
|
|
@@ -25,7 +33,7 @@ A site with a form adds the page `/consent` (or passes `consentHref`).
|
|
|
25
33
|
|
|
26
34
|
- Documents: `file({ label })` holds a PDF the owner uploads in the CMS, `{ src, name }` (`FileValue`): a price list, a menu, a contract. An empty name of a file asks for its file (`missing-file-src`). A static build copies the uploaded documents its pages link to, as it copies the photos, and the route of uploads serves them on request; `isUploadedFile` names both.
|
|
27
35
|
|
|
28
|
-
A site with a file field needs a CMS that reads 1.4
|
|
36
|
+
A site with a file field needs a CMS that reads 1.4. Code with an exhaustive `switch` over `FieldKind` or over the issues of `parseContent` gets the new member to handle.
|
|
29
37
|
|
|
30
38
|
## 1.3.0
|
|
31
39
|
|
|
@@ -33,7 +41,7 @@ A site with a file field needs a CMS that reads 1.4 (cms.seamlet.ru from its rel
|
|
|
33
41
|
- `readRequestEntries(body)` reads a request's body into its words, and `readRequestValues(form, entries)` checks a request the same way in the browser and in the CMS, with issues by field (`required`, `too-long`, `invalid-phone`, `invalid-email`, `unknown-option`) and their texts (`REQUEST_ISSUE_TEXTS`).
|
|
34
42
|
- The events `seamlet:request-send` (cancelable), `seamlet:request-sent` and `seamlet:request-failed` on the form let the site's code send a request its own way or follow it.
|
|
35
43
|
|
|
36
|
-
A site with forms needs a CMS that reads descriptions of 1.3
|
|
44
|
+
A site with forms needs a CMS that reads descriptions of 1.3. Code with an exhaustive `switch` over `SiteDescriptionProblem` gets its new members to handle.
|
|
37
45
|
|
|
38
46
|
## 1.2.1
|
|
39
47
|
|
|
@@ -51,7 +59,7 @@ A site with forms needs a CMS that reads descriptions of 1.3 (cms.seamlet.ru fro
|
|
|
51
59
|
- `site.pageOf(rest, content)` and `site.staticPaths(content)` render every page of a site from one `[...page]` route, the pages of records too. `site.pageAt` renders the site's own pages only, and is deprecated.
|
|
52
60
|
- The preview answers an address of no page at once, without asking the CMS or reading the draft.
|
|
53
61
|
|
|
54
|
-
A site with a `slug` or pages of records needs a CMS that reads descriptions of 1.1
|
|
62
|
+
A site with a `slug` or pages of records needs a CMS that reads descriptions of 1.1: an older one refuses the kind `slug`. Code with an exhaustive `switch` over `Field`, `ContentIssue`, `SchemaProblemReason` or `SiteDescriptionProblem` gets their new members to handle.
|
|
55
63
|
|
|
56
64
|
## 1.0.0
|
|
57
65
|
|
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@ Connects an [Astro](https://astro.build) site to the Seamlet CMS ([source](https
|
|
|
7
7
|
The quick way, in an Astro project:
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
npx @seamlet/astro init --title "
|
|
10
|
+
npx @seamlet/astro init --title "Моя кофейня" # seamlet.json, src/schema.ts, src/seamlet.ts, a first page component
|
|
11
11
|
npx astro add @seamlet/astro node # the integration, and an adapter for the preview
|
|
12
12
|
```
|
|
13
13
|
|
|
@@ -23,8 +23,8 @@ npx astro add @seamlet/astro node # the integration, and an ad
|
|
|
23
23
|
|
|
24
24
|
```json
|
|
25
25
|
{
|
|
26
|
-
"id": "
|
|
27
|
-
"title": "
|
|
26
|
+
"id": "cafe",
|
|
27
|
+
"title": "Моя кофейня",
|
|
28
28
|
"cms": "https://cms.seamlet.ru"
|
|
29
29
|
}
|
|
30
30
|
```
|
|
@@ -297,7 +297,7 @@ A reference to a record removed since is kept, with the issue `missing-record`:
|
|
|
297
297
|
|
|
298
298
|
## Pages of records
|
|
299
299
|
|
|
300
|
-
A collection can have a page for each of its records: a product, a dish, an article. The site writes one component, and the owner who adds a record in the CMS gets its page, which the CMS's editor opens and edits like any other page (a CMS that reads descriptions of version 1.1
|
|
300
|
+
A collection can have a page for each of its records: a product, a dish, an article. The site writes one component, and the owner who adds a record in the CMS gets its page, which the CMS's editor opens and edits like any other page (a CMS that reads descriptions of version 1.1). `recordPages` names the collection and the address of its pages, `[record]` standing for the record:
|
|
301
301
|
|
|
302
302
|
```ts
|
|
303
303
|
// src/schema.ts
|
|
@@ -469,14 +469,14 @@ import { productPages } from "../../schema";
|
|
|
469
469
|
export async function GET() {
|
|
470
470
|
const content = await site.loadPublishedContent();
|
|
471
471
|
const offers = productOffersOf(content.products, {
|
|
472
|
-
siteUrl: "https://
|
|
472
|
+
siteUrl: "https://example.ru",
|
|
473
473
|
pathOf: productPages.pathOf,
|
|
474
474
|
});
|
|
475
475
|
const feed = yandexFeedOf(
|
|
476
476
|
{
|
|
477
|
-
name: "
|
|
478
|
-
company: "ООО
|
|
479
|
-
url: "https://
|
|
477
|
+
name: "Ромашка",
|
|
478
|
+
company: "ООО «Ромашка»",
|
|
479
|
+
url: "https://example.ru",
|
|
480
480
|
},
|
|
481
481
|
offers,
|
|
482
482
|
new Date(),
|
|
@@ -38,8 +38,8 @@ interface Props {
|
|
|
38
38
|
const {
|
|
39
39
|
form,
|
|
40
40
|
submitLabel = "Отправить",
|
|
41
|
-
sentText = "
|
|
42
|
-
failedText = "
|
|
41
|
+
sentText = "Заявка отправлена. Ответим по контактам, которые вы оставили.",
|
|
42
|
+
failedText = "Заявка не ушла. Всё, что вы ввели, осталось в форме — отправьте ещё раз через минуту.",
|
|
43
43
|
consentHref = CONSENT_PAGE_PATH,
|
|
44
44
|
policyHref = PRIVACY_PAGE_PATH,
|
|
45
45
|
instance = form.id,
|
|
@@ -127,7 +127,7 @@ const isLineField = (field: RequestField): field is LineField =>
|
|
|
127
127
|
))}
|
|
128
128
|
<div class="seamlet-form-trap" aria-hidden="true">
|
|
129
129
|
<label>
|
|
130
|
-
|
|
130
|
+
Оставьте это поле пустым
|
|
131
131
|
<input
|
|
132
132
|
type="text"
|
|
133
133
|
name={REQUEST_TRAP_KEY}
|
package/dist/bridge.js
CHANGED
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
shortcutOf,
|
|
19
19
|
toggleList,
|
|
20
20
|
toggleMark
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-QSRFU2G3.js";
|
|
22
22
|
import {
|
|
23
23
|
FIELD_PATH_ATTRIBUTE,
|
|
24
24
|
HELD_ATTRIBUTE,
|
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
readRichText,
|
|
31
31
|
resolveFieldPath,
|
|
32
32
|
safeHref
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-HFCQRPPJ.js";
|
|
34
34
|
|
|
35
35
|
// src/bridge/dom-nodes.ts
|
|
36
36
|
function asElement(value) {
|
|
@@ -1039,7 +1039,7 @@ function seoFields(options = {}) {
|
|
|
1039
1039
|
multiline: true,
|
|
1040
1040
|
maxLength: 160
|
|
1041
1041
|
}),
|
|
1042
|
-
image: image({ label: "\u041A\u0430\u0440\u0442\u0438\u043D\u043A\u0430 \u0434\u043B\u044F \u0441\u043E\u0446\u0441\u0435\u0442\
|
|
1042
|
+
image: image({ label: "\u041A\u0430\u0440\u0442\u0438\u043D\u043A\u0430 \u0434\u043B\u044F \u0441\u0441\u044B\u043B\u043A\u0438 \u0432 \u0441\u043E\u0446\u0441\u0435\u0442\u044F\u0445" })
|
|
1043
1043
|
}
|
|
1044
1044
|
});
|
|
1045
1045
|
}
|
|
@@ -1075,7 +1075,7 @@ function openingHoursField(options = {}) {
|
|
|
1075
1075
|
days: choices({ label: "\u0414\u043D\u0438", options: WEEKDAYS }),
|
|
1076
1076
|
opens: time({ label: "\u041E\u0442\u043A\u0440\u044B\u0432\u0430\u0435\u0442\u0441\u044F" }),
|
|
1077
1077
|
closes: time({ label: "\u0417\u0430\u043A\u0440\u044B\u0432\u0430\u0435\u0442\u0441\u044F" }),
|
|
1078
|
-
note: text({ label: "\u041F\
|
|
1078
|
+
note: text({ label: "\u041F\u0440\u0438\u043C\u0435\u0447\u0430\u043D\u0438\u0435", maxLength: 40 })
|
|
1079
1079
|
}
|
|
1080
1080
|
});
|
|
1081
1081
|
}
|
|
@@ -1087,7 +1087,11 @@ function productFields() {
|
|
|
1087
1087
|
label: "\u0424\u043E\u0442\u043E",
|
|
1088
1088
|
item: { photo: image({ label: "\u0424\u043E\u0442\u043E" }) }
|
|
1089
1089
|
}),
|
|
1090
|
-
summary: richText({
|
|
1090
|
+
summary: richText({
|
|
1091
|
+
label: "\u0421\u0442\u0440\u043E\u043A\u0430 \u0434\u043B\u044F \u043A\u0430\u0440\u0442\u043E\u0447\u043A\u0438",
|
|
1092
|
+
inline: true,
|
|
1093
|
+
maxLength: 200
|
|
1094
|
+
}),
|
|
1091
1095
|
description: richText({ label: "\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435" }),
|
|
1092
1096
|
price: number({ label: "\u0426\u0435\u043D\u0430, \u20BD", min: 0 }),
|
|
1093
1097
|
priceNote: text({ label: "\u0423\u0442\u043E\u0447\u043D\u0435\u043D\u0438\u0435 \u0446\u0435\u043D\u044B", maxLength: 40 }),
|
|
@@ -1752,10 +1756,10 @@ var LINE_BREAKS = /\r\n?/gu;
|
|
|
1752
1756
|
var ANY_LINE_BREAK = /[\r\n]+/gu;
|
|
1753
1757
|
var REQUEST_ISSUE_TEXTS = {
|
|
1754
1758
|
required: "\u0417\u0430\u043F\u043E\u043B\u043D\u0438\u0442\u0435 \u044D\u0442\u043E \u043F\u043E\u043B\u0435",
|
|
1755
|
-
"too-long": "\
|
|
1759
|
+
"too-long": "\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u0434\u043B\u0438\u043D\u043D\u044B\u0439 \u0442\u0435\u043A\u0441\u0442 \u2014 \u0441\u043E\u043A\u0440\u0430\u0442\u0438\u0442\u0435 \u0435\u0433\u043E",
|
|
1756
1760
|
"invalid-phone": "\u041F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u043D\u043E\u043C\u0435\u0440 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430",
|
|
1757
|
-
"invalid-email": "\u041F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u0430\u0434\u0440\u0435\u0441 \
|
|
1758
|
-
"unknown-option": "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \
|
|
1761
|
+
"invalid-email": "\u041F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u043F\u043E\u0447\u0442\u0443: \u043D\u0443\u0436\u0435\u043D \u0430\u0434\u0440\u0435\u0441 \u0432\u0438\u0434\u0430 name@mail.ru",
|
|
1762
|
+
"unknown-option": "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0432\u0430\u0440\u0438\u0430\u043D\u0442 \u0438\u0437 \u0441\u043F\u0438\u0441\u043A\u0430"
|
|
1759
1763
|
};
|
|
1760
1764
|
var CONSENT_REQUIRED_TEXT = "\u041E\u0442\u043C\u0435\u0442\u044C\u0442\u0435 \u0441\u043E\u0433\u043B\u0430\u0441\u0438\u0435 \u043D\u0430 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0443 \u043F\u0435\u0440\u0441\u043E\u043D\u0430\u043B\u044C\u043D\u044B\u0445 \u0434\u0430\u043D\u043D\u044B\u0445";
|
|
1761
1765
|
function readRequestValues(form, entries) {
|
|
@@ -1931,10 +1935,10 @@ function processingOf() {
|
|
|
1931
1935
|
return [
|
|
1932
1936
|
"5. \u041F\u043E\u0440\u044F\u0434\u043E\u043A \u0438 \u0443\u0441\u043B\u043E\u0432\u0438\u044F \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0438",
|
|
1933
1937
|
`5.1. \u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u0441 \u043F\u0435\u0440\u0441\u043E\u043D\u0430\u043B\u044C\u043D\u044B\u043C\u0438 \u0434\u0430\u043D\u043D\u044B\u043C\u0438: ${ACTIONS}.`,
|
|
1934
|
-
`5.2. \u041E\u043F\u0435\u0440\u0430\u0442\u043E\u0440 \u043F\u043E\u0440\u0443\u0447\u0430\u0435\u0442 \u043F\u0440\u0438\u0451\u043C \u0437\u0430\u044F\u0432\u043E\u043A \u0441 \u0444\u043E\u0440\u043C \u0421\u0430\u0439\u0442\u0430 \u0438 \u0438\u0445 \u043F\u0435\u0440\u0435\u0434\u0430\u0447\u0443 \u041E\u043F\u0435\u0440\u0430\u0442\u043E\u0440\u0443 \u043F\u043E \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u0435 ${PROCESSOR}. \u0421\u0435\u0440\u0432\u0438\u0441 \u043E\u0431\u044F\u0437\u0430\u043D \u0441\u043E\u0431\u043B\u044E\u0434\u0430\u0442\u044C \u043A\u043E\u043D\u0444\u0438\u0434\u0435\u043D\u0446\u0438\u0430\u043B\u044C\u043D\u043E\u0441\u0442\u044C \u0434\u0430\u043D\u043D\u044B\u0445, \u043E\u0431\u0435\u0441\u043F\u0435\u0447\u0438\u0432\u0430\u0442\u044C \u0438\u0445 \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u044C \u043F\u043E \u0441\u0442\u0430\u0442\u044C\u0435 19 \u0417\u0430\u043A\u043E\u043D\u0430, \u043D\u0435 \u0445\u0440\u0430\u043D\u0438\u0442 \u0437\u0430\u044F\u0432\u043A\u0443 \u0434\u043E\u043B\u044C\u0448\u0435, \u0447\u0435\u043C \u043D\u0443\u0436\u043D\u043E \u0434\u043B\u044F \u0434\u043E\u0441\u0442\u0430\u0432\u043A\u0438, \u0438 \u043D\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\
|
|
1938
|
+
`5.2. \u041E\u043F\u0435\u0440\u0430\u0442\u043E\u0440 \u043F\u043E\u0440\u0443\u0447\u0430\u0435\u0442 \u043F\u0440\u0438\u0451\u043C \u0437\u0430\u044F\u0432\u043E\u043A \u0441 \u0444\u043E\u0440\u043C \u0421\u0430\u0439\u0442\u0430 \u0438 \u0438\u0445 \u043F\u0435\u0440\u0435\u0434\u0430\u0447\u0443 \u041E\u043F\u0435\u0440\u0430\u0442\u043E\u0440\u0443 \u043F\u043E \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u0435 ${PROCESSOR}. \u0421\u0435\u0440\u0432\u0438\u0441 \u043E\u0431\u044F\u0437\u0430\u043D \u0441\u043E\u0431\u043B\u044E\u0434\u0430\u0442\u044C \u043A\u043E\u043D\u0444\u0438\u0434\u0435\u043D\u0446\u0438\u0430\u043B\u044C\u043D\u043E\u0441\u0442\u044C \u0434\u0430\u043D\u043D\u044B\u0445, \u043E\u0431\u0435\u0441\u043F\u0435\u0447\u0438\u0432\u0430\u0442\u044C \u0438\u0445 \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u044C \u043F\u043E \u0441\u0442\u0430\u0442\u044C\u0435 19 \u0417\u0430\u043A\u043E\u043D\u0430, \u043D\u0435 \u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0437\u0430\u044F\u0432\u043A\u0443 \u0434\u043E\u043B\u044C\u0448\u0435, \u0447\u0435\u043C \u043D\u0443\u0436\u043D\u043E \u0434\u043B\u044F \u0434\u043E\u0441\u0442\u0430\u0432\u043A\u0438, \u0438 \u043D\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0434\u0430\u043D\u043D\u044B\u0435 \u0432 \u0441\u0432\u043E\u0438\u0445 \u0446\u0435\u043B\u044F\u0445. \u041E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043D\u043D\u043E\u0441\u0442\u044C \u043F\u0435\u0440\u0435\u0434 \u0441\u0443\u0431\u044A\u0435\u043A\u0442\u043E\u043C \u0437\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u043D\u0435\u0441\u0451\u0442 \u041E\u043F\u0435\u0440\u0430\u0442\u043E\u0440.`,
|
|
1935
1939
|
"5.3. \u0417\u0430\u043F\u0438\u0441\u044C, \u0441\u0438\u0441\u0442\u0435\u043C\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044F, \u043D\u0430\u043A\u043E\u043F\u043B\u0435\u043D\u0438\u0435, \u0445\u0440\u0430\u043D\u0435\u043D\u0438\u0435, \u0443\u0442\u043E\u0447\u043D\u0435\u043D\u0438\u0435 \u0438 \u0438\u0437\u0432\u043B\u0435\u0447\u0435\u043D\u0438\u0435 \u043F\u0435\u0440\u0441\u043E\u043D\u0430\u043B\u044C\u043D\u044B\u0445 \u0434\u0430\u043D\u043D\u044B\u0445 \u0433\u0440\u0430\u0436\u0434\u0430\u043D \u0420\u043E\u0441\u0441\u0438\u0439\u0441\u043A\u043E\u0439 \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u0438 \u0432\u0435\u0434\u0443\u0442\u0441\u044F \u0441 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u0431\u0430\u0437 \u0434\u0430\u043D\u043D\u044B\u0445, \u043D\u0430\u0445\u043E\u0434\u044F\u0449\u0438\u0445\u0441\u044F \u043D\u0430 \u0442\u0435\u0440\u0440\u0438\u0442\u043E\u0440\u0438\u0438 \u0420\u043E\u0441\u0441\u0438\u0439\u0441\u043A\u043E\u0439 \u0424\u0435\u0434\u0435\u0440\u0430\u0446\u0438\u0438. \u0422\u0440\u0430\u043D\u0441\u0433\u0440\u0430\u043D\u0438\u0447\u043D\u0430\u044F \u043F\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u043D\u0435 \u043E\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043B\u044F\u0435\u0442\u0441\u044F.",
|
|
1936
1940
|
"5.4. \u041E\u043F\u0435\u0440\u0430\u0442\u043E\u0440 \u043D\u0435 \u0440\u0430\u0441\u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u044F\u0435\u0442 \u043F\u0435\u0440\u0441\u043E\u043D\u0430\u043B\u044C\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435 \u0438 \u043D\u0435 \u043F\u0435\u0440\u0435\u0434\u0430\u0451\u0442 \u0438\u0445 \u0442\u0440\u0435\u0442\u044C\u0438\u043C \u043B\u0438\u0446\u0430\u043C, \u043A\u0440\u043E\u043C\u0435 \u0441\u043B\u0443\u0447\u0430\u0435\u0432, \u043F\u0440\u0435\u0434\u0443\u0441\u043C\u043E\u0442\u0440\u0435\u043D\u043D\u044B\u0445 \u0437\u0430\u043A\u043E\u043D\u043E\u043C (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443 \u0441\u0443\u0434\u0430 \u0438\u043B\u0438 \u0443\u043F\u043E\u043B\u043D\u043E\u043C\u043E\u0447\u0435\u043D\u043D\u044B\u0445 \u043E\u0440\u0433\u0430\u043D\u043E\u0432).",
|
|
1937
|
-
"5.5. \u0414\u043B\u044F \u0437\u0430\u0449\u0438\u0442\u044B \u0434\u0430\u043D\u043D\u044B\u0445 \u041E\u043F\u0435\u0440\u0430\u0442\u043E\u0440 \u043F\u0440\u0438\u043D\u0438\u043C\u0430\u0435\u0442 \u043C\u0435\u0440\u044B \u043F\u043E \u0441\u0442\u0430\u0442\u044C\u044F\u043C 18.1 \u0438 19 \u0417\u0430\u043A\u043E\u043D\u0430: \u043D\u0430\u0437\u043D\u0430\u0447\u0430\u0435\u0442 \u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043D\u043D\u043E\u0433\u043E \u0437\u0430 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u044E \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0438, \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F \u043A \u0434\u0430\u043D\u043D\u044B\u043C \
|
|
1941
|
+
"5.5. \u0414\u043B\u044F \u0437\u0430\u0449\u0438\u0442\u044B \u0434\u0430\u043D\u043D\u044B\u0445 \u041E\u043F\u0435\u0440\u0430\u0442\u043E\u0440 \u043F\u0440\u0438\u043D\u0438\u043C\u0430\u0435\u0442 \u043C\u0435\u0440\u044B \u043F\u043E \u0441\u0442\u0430\u0442\u044C\u044F\u043C 18.1 \u0438 19 \u0417\u0430\u043A\u043E\u043D\u0430: \u043D\u0430\u0437\u043D\u0430\u0447\u0430\u0435\u0442 \u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043D\u043D\u043E\u0433\u043E \u0437\u0430 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u0430\u0446\u0438\u044E \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0438, \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F \u043A \u0434\u0430\u043D\u043D\u044B\u043C \u043A\u0440\u0443\u0433\u043E\u043C \u043B\u0438\u0446, \u043A\u043E\u0442\u043E\u0440\u044B\u043C \u043E\u043D \u043D\u0443\u0436\u0435\u043D \u0434\u043B\u044F \u0440\u0430\u0431\u043E\u0442\u044B, \u043F\u0435\u0440\u0435\u0434\u0430\u0451\u0442 \u0434\u0430\u043D\u043D\u044B\u0435 \u043F\u043E \u0437\u0430\u0449\u0438\u0449\u0451\u043D\u043D\u044B\u043C \u043A\u0430\u043D\u0430\u043B\u0430\u043C \u0441\u0432\u044F\u0437\u0438, \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0437\u0430\u0449\u0438\u0442\u044B \u043E\u0442 \u043D\u0435\u0441\u0430\u043D\u043A\u0446\u0438\u043E\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u043E\u0433\u043E \u0434\u043E\u0441\u0442\u0443\u043F\u0430 \u0438 \u0443\u043D\u0438\u0447\u0442\u043E\u0436\u0430\u0435\u0442 \u0434\u0430\u043D\u043D\u044B\u0435, \u043A\u043E\u0433\u0434\u0430 \u043E\u043D\u0438 \u0431\u043E\u043B\u044C\u0448\u0435 \u043D\u0435 \u043D\u0443\u0436\u043D\u044B.",
|
|
1938
1942
|
"5.6. \u041E \u043D\u0435\u043F\u0440\u0430\u0432\u043E\u043C\u0435\u0440\u043D\u043E\u0439 \u0438\u043B\u0438 \u0441\u043B\u0443\u0447\u0430\u0439\u043D\u043E\u0439 \u043F\u0435\u0440\u0435\u0434\u0430\u0447\u0435 \u043F\u0435\u0440\u0441\u043E\u043D\u0430\u043B\u044C\u043D\u044B\u0445 \u0434\u0430\u043D\u043D\u044B\u0445, \u043F\u043E\u0432\u043B\u0451\u043A\u0448\u0435\u0439 \u043D\u0430\u0440\u0443\u0448\u0435\u043D\u0438\u0435 \u043F\u0440\u0430\u0432 \u0441\u0443\u0431\u044A\u0435\u043A\u0442\u043E\u0432, \u041E\u043F\u0435\u0440\u0430\u0442\u043E\u0440 \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u044F\u0435\u0442 \u0420\u043E\u0441\u043A\u043E\u043C\u043D\u0430\u0434\u0437\u043E\u0440 \u0432 \u0441\u0440\u043E\u043A\u0438, \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u044B\u0435 \u0447\u0430\u0441\u0442\u044C\u044E 3.1 \u0441\u0442\u0430\u0442\u044C\u0438 21 \u0417\u0430\u043A\u043E\u043D\u0430."
|
|
1939
1943
|
];
|
|
1940
1944
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
pagePathOf
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-3DQI4G6H.js";
|
|
4
4
|
import {
|
|
5
5
|
FIELD_PATH_SEPARATOR,
|
|
6
6
|
collectionAt,
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
newRecord,
|
|
10
10
|
recordAt,
|
|
11
11
|
recordPageAt
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-HFCQRPPJ.js";
|
|
13
13
|
|
|
14
14
|
// src/preview-requests.ts
|
|
15
15
|
var MAX_DRAFT_BYTES = 1024 * 1024;
|
package/dist/cli.js
CHANGED
package/dist/client.js
CHANGED
|
@@ -16,7 +16,7 @@ if (isFramed && isPreview) {
|
|
|
16
16
|
});
|
|
17
17
|
}
|
|
18
18
|
if (document.querySelector(REQUEST_FORM_SELECTOR) !== null) {
|
|
19
|
-
void import("./request-sending-
|
|
19
|
+
void import("./request-sending-6NTXTW3A.js").then(({ connectRequestForms }) => {
|
|
20
20
|
connectRequestForms(document, { isPreview });
|
|
21
21
|
});
|
|
22
22
|
}
|
package/dist/feeds.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ interface FeedOffer {
|
|
|
17
17
|
}
|
|
18
18
|
type ProductRecord = RecordOf<ReturnType<typeof productFields>>;
|
|
19
19
|
interface ProductOffersOptions {
|
|
20
|
-
/** The site's address: `https://
|
|
20
|
+
/** The site's address: `https://example.ru`. */
|
|
21
21
|
readonly siteUrl: string;
|
|
22
22
|
/** The page of a product (`recordPages(...).pathOf`), or none: the catalog's page is used. */
|
|
23
23
|
readonly pathOf?: (product: ProductRecord) => string | undefined;
|
|
@@ -38,9 +38,9 @@ interface AvitoSeller {
|
|
|
38
38
|
declare function avitoFeedOf(seller: AvitoSeller, offers: readonly FeedOffer[], fieldsOf?: (offer: FeedOffer) => Readonly<Record<string, string>>): string;
|
|
39
39
|
|
|
40
40
|
interface YandexShop {
|
|
41
|
-
/** The short name buyers know:
|
|
41
|
+
/** The short name buyers know: «Ромашка». */
|
|
42
42
|
readonly name: string;
|
|
43
|
-
/** The company's full name: «ООО
|
|
43
|
+
/** The company's full name: «ООО «Ромашка»». */
|
|
44
44
|
readonly company: string;
|
|
45
45
|
/** The site's address. */
|
|
46
46
|
readonly url: string;
|
package/dist/feeds.js
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isUploadedFile
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-OA3GJYVY.js";
|
|
4
4
|
import {
|
|
5
5
|
OWN_PHOTOS_PATH
|
|
6
6
|
} from "./chunk-W2LIOR2C.js";
|
|
7
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-3DQI4G6H.js";
|
|
8
8
|
import {
|
|
9
9
|
SITE_CONFIG_FILE,
|
|
10
10
|
SITE_DESCRIPTION_PATH,
|
|
11
11
|
isJsonObject,
|
|
12
12
|
readSiteConfig
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-HFCQRPPJ.js";
|
|
14
14
|
import {
|
|
15
15
|
PREVIEW_PATH,
|
|
16
16
|
SITE_MODULE_FILE,
|
|
@@ -98,7 +98,7 @@ import { readFile as readFile2 } from "fs/promises";
|
|
|
98
98
|
import { fileURLToPath } from "url";
|
|
99
99
|
var FIELD_RULES = {
|
|
100
100
|
id: "the site's id in the CMS: lower-case letters, digits and single hyphens, such as coffee-shop",
|
|
101
|
-
title: "how the CMS names the site, such as \xAB\
|
|
101
|
+
title: "how the CMS names the site, such as \xAB\u041C\u043E\u044F \u043A\u043E\u0444\u0435\u0439\u043D\u044F\xBB",
|
|
102
102
|
cms: "the address of the CMS, such as https://cms.seamlet.ru"
|
|
103
103
|
};
|
|
104
104
|
async function loadSiteConfig(root, cmsOverride) {
|
package/dist/preview-requests.js
CHANGED
|
@@ -6,9 +6,9 @@ import {
|
|
|
6
6
|
previewContentAt,
|
|
7
7
|
previewHeadersOf,
|
|
8
8
|
readDraft
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-OA3GJYVY.js";
|
|
10
|
+
import "./chunk-3DQI4G6H.js";
|
|
11
|
+
import "./chunk-HFCQRPPJ.js";
|
|
12
12
|
export {
|
|
13
13
|
MAX_DRAFT_BYTES,
|
|
14
14
|
isPageAddress,
|
package/dist/protocol.js
CHANGED
package/dist/routes/media.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isUploadedFile
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-
|
|
5
|
-
import "../chunk-
|
|
3
|
+
} from "../chunk-OA3GJYVY.js";
|
|
4
|
+
import "../chunk-3DQI4G6H.js";
|
|
5
|
+
import "../chunk-HFCQRPPJ.js";
|
|
6
6
|
import {
|
|
7
7
|
uploadedPhotoPath
|
|
8
8
|
} from "../chunk-QCVWHHJC.js";
|
package/dist/schema.d.ts
CHANGED
|
@@ -129,7 +129,7 @@ declare const SITE_CONFIG_FILE = "seamlet.json";
|
|
|
129
129
|
interface SiteConfig {
|
|
130
130
|
/** The site's id in the CMS: its address there (`/sites/<id>`) and the name of its content. */
|
|
131
131
|
readonly id: string;
|
|
132
|
-
/** How the CMS names the site:
|
|
132
|
+
/** How the CMS names the site: «Моя кофейня». */
|
|
133
133
|
readonly title: string;
|
|
134
134
|
/** The origin of the CMS the site belongs to: `https://cms.seamlet.ru`. */
|
|
135
135
|
readonly cms: string;
|
|
@@ -221,7 +221,7 @@ declare function requestsPathOf(siteId: string): string;
|
|
|
221
221
|
|
|
222
222
|
/** The business that collects the data: as its documents name it. */
|
|
223
223
|
interface PolicyOperator {
|
|
224
|
-
/** «ООО
|
|
224
|
+
/** «ООО «Ромашка»» or «ИП Иванов Иван Иванович». */
|
|
225
225
|
readonly name: string;
|
|
226
226
|
readonly inn: string;
|
|
227
227
|
readonly address: string;
|
package/dist/schema.js
CHANGED
package/dist/site.js
CHANGED
|
@@ -3,12 +3,12 @@ import {
|
|
|
3
3
|
previewedPageAt,
|
|
4
4
|
renderedPageAt,
|
|
5
5
|
staticPagesOf
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-3DQI4G6H.js";
|
|
7
7
|
import {
|
|
8
8
|
checkSiteDescription,
|
|
9
9
|
formatFieldPath,
|
|
10
10
|
parseContent
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-HFCQRPPJ.js";
|
|
12
12
|
import {
|
|
13
13
|
SITE_MODULE_FILE
|
|
14
14
|
} from "./chunk-QCVWHHJC.js";
|
package/package.json
CHANGED