@sesamy/sesamy-js 1.3.1 → 1.3.3
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/index.d.ts +108 -0
- package/dist/sesamy-js.cjs +6 -0
- package/dist/sesamy-js.iife.js +6 -0
- package/dist/sesamy-js.mjs +3082 -0
- package/package.json +4 -2
- package/.env +0 -2
- package/.env.production +0 -2
- package/.eslintignore +0 -4
- package/.eslintrc +0 -18
- package/.github/workflows/release.yml +0 -23
- package/.nvmrc +0 -1
- package/.prettierignore +0 -4
- package/.prettierrc +0 -5
- package/CHANGELOG.md +0 -132
- package/README.md +0 -69
- package/article.html +0 -65
- package/contracts.html +0 -23
- package/dts-bundle-generator.config.ts +0 -11
- package/entitlements.html +0 -23
- package/index.html +0 -24
- package/renovate.json +0 -4
- package/src/SesamyContracts.ts +0 -86
- package/src/SesamyEntitlements.ts +0 -85
- package/src/app.ts +0 -101
- package/src/constants.ts +0 -2
- package/src/controllers/index.ts +0 -1
- package/src/controllers/paywall.ts +0 -14
- package/src/entitlementsStyle.css +0 -147
- package/src/events/ready.ts +0 -12
- package/src/index.ts +0 -36
- package/src/javascript-api.ts +0 -84
- package/src/services/analytics/element-tracker.ts +0 -117
- package/src/services/analytics/index.ts +0 -234
- package/src/services/analytics/listeners/index.ts +0 -2
- package/src/services/analytics/listeners/route.ts +0 -9
- package/src/services/analytics/listeners/scroll.ts +0 -62
- package/src/services/analytics/session-id.ts +0 -11
- package/src/services/analytics/types/analytics-activity-utils.d.ts +0 -54
- package/src/services/analytics/types/analytics-router-utils.d.ts +0 -7
- package/src/services/analytics/types/analytics-scroll-utils.d.ts +0 -4
- package/src/services/analytics/types/track-event.ts +0 -70
- package/src/services/auth/index.ts +0 -74
- package/src/services/sesamy/index.ts +0 -160
- package/src/state.ts +0 -3
- package/src/style.css +0 -99
- package/src/types/Bills.ts +0 -12
- package/src/types/Config.ts +0 -11
- package/src/types/Contracts.ts +0 -12
- package/src/types/Entitlement.ts +0 -9
- package/src/types/Events.ts +0 -6
- package/src/types/Tag.ts +0 -16
- package/src/vite-env.d.ts +0 -1
- package/tsconfig.json +0 -23
- package/vite.config.ts +0 -43
- package/vite.dev.config.ts +0 -14
- /package/{public → dist}/sesamy.png +0 -0
package/package.json
CHANGED
|
@@ -6,9 +6,10 @@
|
|
|
6
6
|
"registry": "https://registry.npmjs.org/",
|
|
7
7
|
"tag": "latest"
|
|
8
8
|
},
|
|
9
|
-
"version": "1.3.
|
|
9
|
+
"version": "1.3.3",
|
|
10
10
|
"main": "./dist/sesamy-js.cjs",
|
|
11
11
|
"module": "./dist/sesamy-js.mjs",
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
12
13
|
"exports": {
|
|
13
14
|
".": {
|
|
14
15
|
"require": "./dist/sesamy-js.cjs",
|
|
@@ -41,7 +42,8 @@
|
|
|
41
42
|
"@semantic-release/npm",
|
|
42
43
|
{
|
|
43
44
|
"npmPublish": true,
|
|
44
|
-
"tarballDir": "dist"
|
|
45
|
+
"tarballDir": "dist",
|
|
46
|
+
"pkgRoot": "build"
|
|
45
47
|
}
|
|
46
48
|
],
|
|
47
49
|
"@semantic-release/github",
|
package/.env
DELETED
package/.env.production
DELETED
package/.eslintignore
DELETED
package/.eslintrc
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"root": true,
|
|
3
|
-
"parser": "@typescript-eslint/parser",
|
|
4
|
-
"plugins": ["@typescript-eslint", "prettier"],
|
|
5
|
-
"extends": [
|
|
6
|
-
"eslint:recommended",
|
|
7
|
-
"plugin:@typescript-eslint/eslint-recommended",
|
|
8
|
-
"plugin:@typescript-eslint/recommended",
|
|
9
|
-
"prettier"
|
|
10
|
-
],
|
|
11
|
-
"env": {
|
|
12
|
-
"browser": true,
|
|
13
|
-
"node": true
|
|
14
|
-
},
|
|
15
|
-
"rules": {
|
|
16
|
-
"prettier/prettier": "error"
|
|
17
|
-
}
|
|
18
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
name: Release
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches:
|
|
6
|
-
- main
|
|
7
|
-
|
|
8
|
-
jobs:
|
|
9
|
-
release:
|
|
10
|
-
runs-on: ubuntu-latest
|
|
11
|
-
steps:
|
|
12
|
-
- uses: actions/checkout@v4
|
|
13
|
-
- uses: actions/setup-node@v4
|
|
14
|
-
with:
|
|
15
|
-
node-version: "20"
|
|
16
|
-
registry-url: "https://registry.npmjs.org"
|
|
17
|
-
- run: yarn
|
|
18
|
-
- run: yarn build:prod
|
|
19
|
-
- run: yarn semantic-release
|
|
20
|
-
env:
|
|
21
|
-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
22
|
-
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
23
|
-
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
package/.nvmrc
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
20.11.0
|
package/.prettierignore
DELETED
package/.prettierrc
DELETED
package/CHANGELOG.md
DELETED
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
## [1.3.1](https://github.com/sesamyab/sesamy-js/compare/v1.3.0...v1.3.1) (2024-02-23)
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
### Bug Fixes
|
|
5
|
-
|
|
6
|
-
* remove files ([b9d5776](https://github.com/sesamyab/sesamy-js/commit/b9d57760933df2f0eb12e3e5f0dcec7c6baa11ea))
|
|
7
|
-
|
|
8
|
-
# [1.3.0](https://github.com/sesamyab/sesamy-js/compare/v1.2.0...v1.3.0) (2024-02-23)
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
### Bug Fixes
|
|
12
|
-
|
|
13
|
-
* add back old vite config ([34268b9](https://github.com/sesamyab/sesamy-js/commit/34268b99fc6548e9bd022a6b1a4e5237386a639e))
|
|
14
|
-
* add copyfiles ([d834a7f](https://github.com/sesamyab/sesamy-js/commit/d834a7f6050ab6091daa98cf78fc4e4fdf9541dc))
|
|
15
|
-
* add dts to build pacakges ([e8aad37](https://github.com/sesamyab/sesamy-js/commit/e8aad375b294f0e0f5f2d36b07d11cac4dda6ff1))
|
|
16
|
-
* added typescript types for analytics ([8ae867a](https://github.com/sesamyab/sesamy-js/commit/8ae867a81ba28f0df38970fe866503071616b44d))
|
|
17
|
-
* issues with merging ([9bd4f62](https://github.com/sesamyab/sesamy-js/commit/9bd4f62f225faf5d399c1838c9009e1333bc98c7))
|
|
18
|
-
* update demo pages entry file ([ed69b4e](https://github.com/sesamyab/sesamy-js/commit/ed69b4e24848c044d4f3d66e1b431189679801ff))
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
### Features
|
|
22
|
-
|
|
23
|
-
* vite dev/preview config ([dbafe1f](https://github.com/sesamyab/sesamy-js/commit/dbafe1f7d8d6cbd5536a6479f4077974405161c2))
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
### Reverts
|
|
27
|
-
|
|
28
|
-
* package name ([2ad3a24](https://github.com/sesamyab/sesamy-js/commit/2ad3a24e2c24480530f33a47ac3d86f176a600f0))
|
|
29
|
-
* use vite envs ([c950bab](https://github.com/sesamyab/sesamy-js/commit/c950bab561b123dc1abd080ffea71a9a588b59ef))
|
|
30
|
-
|
|
31
|
-
# [1.2.0](https://github.com/sesamyab/sesamy-js/compare/v1.1.0...v1.2.0) (2024-02-22)
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
### Bug Fixes
|
|
35
|
-
|
|
36
|
-
* add tags api ([aa294e0](https://github.com/sesamyab/sesamy-js/commit/aa294e037350c25eae6f8465ce143fa619a15515))
|
|
37
|
-
* add tags policies ([381fb2d](https://github.com/sesamyab/sesamy-js/commit/381fb2d876da68c6933b8ebde4f10d6992920bd1))
|
|
38
|
-
* check if document is defined ([764f102](https://github.com/sesamyab/sesamy-js/commit/764f102e7ba2f4a8ff411e4c5049b6e3d3ad6ed4))
|
|
39
|
-
* getVersion ([ced22da](https://github.com/sesamyab/sesamy-js/commit/ced22da9f124c9c936e8f5f3f1b25c9fb379cc96))
|
|
40
|
-
* merge conflict ([b37b096](https://github.com/sesamyab/sesamy-js/commit/b37b096c8ab01dde19f5823e8989222ed1bd084b))
|
|
41
|
-
* more merge conflicts ([7a6a4c1](https://github.com/sesamyab/sesamy-js/commit/7a6a4c18ec36f8d9426017d57b3e54d3faf95810))
|
|
42
|
-
* remove unnecessary promise ([d7fa080](https://github.com/sesamyab/sesamy-js/commit/d7fa080d758c85ce4dc9ef2bd43a20b86b5c1f78))
|
|
43
|
-
* update readme ([4d08b44](https://github.com/sesamyab/sesamy-js/commit/4d08b4480f20ce14ce0c38791a481c2d5eb711ed))
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
### Features
|
|
47
|
-
|
|
48
|
-
* add prettier ([102f50d](https://github.com/sesamyab/sesamy-js/commit/102f50dd5e271404ecf9af74f200c58ca12f6c07))
|
|
49
|
-
* eslint added ([43af52e](https://github.com/sesamyab/sesamy-js/commit/43af52efe5520d5097d8514a210fd54896e3a5da))
|
|
50
|
-
* prettier first run ([85acd28](https://github.com/sesamyab/sesamy-js/commit/85acd287496b108cf50ae217f4712fd3bc2143bf))
|
|
51
|
-
|
|
52
|
-
# [1.1.0](https://github.com/sesamyab/sesamy-js/compare/v1.0.4...v1.1.0) (2024-02-16)
|
|
53
|
-
|
|
54
|
-
### Bug Fixes
|
|
55
|
-
|
|
56
|
-
- add contracts page to vite ([0e7a079](https://github.com/sesamyab/sesamy-js/commit/0e7a079b1a6f815cbb1a6de4e3d05a264e183098))
|
|
57
|
-
- **deps:** update dependency analytics to v0.8.11 ([e0e65cc](https://github.com/sesamyab/sesamy-js/commit/e0e65cc1b44b7a43c7ff8cc674a7d32e4e7ef9a1))
|
|
58
|
-
- remove params to make vercel happy ([e41cfff](https://github.com/sesamyab/sesamy-js/commit/e41cfff15409681fcd926c088a5255651e3fa23d))
|
|
59
|
-
- use api for paywall ([a64db31](https://github.com/sesamyab/sesamy-js/commit/a64db3118b8ad0d306f23499e18d7c0c0cd12ff2))
|
|
60
|
-
|
|
61
|
-
### Features
|
|
62
|
-
|
|
63
|
-
- add a naive soft paywall ([5c7de83](https://github.com/sesamyab/sesamy-js/commit/5c7de836a518eacd15627f9a9549ef4249354e08))
|
|
64
|
-
|
|
65
|
-
## [1.0.4](https://github.com/sesamyab/sesamy-js/compare/v1.0.3...v1.0.4) (2024-02-12)
|
|
66
|
-
|
|
67
|
-
### Bug Fixes
|
|
68
|
-
|
|
69
|
-
- add getEntitlement to api ([da3bc35](https://github.com/sesamyab/sesamy-js/commit/da3bc354373b43801aba28fc90b868c154c585dc))
|
|
70
|
-
- casing ([b9abe9b](https://github.com/sesamyab/sesamy-js/commit/b9abe9beada21b13a3d61b9fe70a6128089ea6aa))
|
|
71
|
-
- merge conflicts ([62ba130](https://github.com/sesamyab/sesamy-js/commit/62ba130c44c21f10df025e751f76b63e10d5af54))
|
|
72
|
-
- refatorentitlements ([4acb013](https://github.com/sesamyab/sesamy-js/commit/4acb013db3f7db5429420c120e4ce35349f44be7))
|
|
73
|
-
- type the response ([1930077](https://github.com/sesamyab/sesamy-js/commit/1930077237502c9000c0ed7014b60b8fa5ad3b6c))
|
|
74
|
-
|
|
75
|
-
## [1.0.3](https://github.com/sesamyab/sesamy-js/compare/v1.0.2...v1.0.3) (2024-02-09)
|
|
76
|
-
|
|
77
|
-
### Bug Fixes
|
|
78
|
-
|
|
79
|
-
- format ([48e956f](https://github.com/sesamyab/sesamy-js/commit/48e956fbc8ed0c1a073f17098de4103dfecd42fc))
|
|
80
|
-
- identify events ([81dfc0d](https://github.com/sesamyab/sesamy-js/commit/81dfc0d2d1d28b1067d93c605df49e9e8c85dbcc))
|
|
81
|
-
- update readme ([3debe9e](https://github.com/sesamyab/sesamy-js/commit/3debe9ec9bf43f779a56508122555cb76aea6a43))
|
|
82
|
-
|
|
83
|
-
## [1.0.2](https://github.com/sesamyab/sesamy-js/compare/v1.0.1...v1.0.2) (2024-02-08)
|
|
84
|
-
|
|
85
|
-
### Bug Fixes
|
|
86
|
-
|
|
87
|
-
- ci stuff ([52c0e61](https://github.com/sesamyab/sesamy-js/commit/52c0e610d92bfeb04803bf69a0d9daff899e0da5))
|
|
88
|
-
- ci updates ([2103816](https://github.com/sesamyab/sesamy-js/commit/21038162475cf2dbbb52dc78e5b32506aa2dcd21))
|
|
89
|
-
|
|
90
|
-
## [1.0.1](https://github.com/sesamyab/sesamy-js/compare/v1.0.0...v1.0.1) (2024-02-08)
|
|
91
|
-
|
|
92
|
-
### Bug Fixes
|
|
93
|
-
|
|
94
|
-
- bump versions ([5abb699](https://github.com/sesamyab/sesamy-js/commit/5abb6994778036868a438f8ce4709fccf0876c29))
|
|
95
|
-
|
|
96
|
-
# 1.0.0 (2024-02-08)
|
|
97
|
-
|
|
98
|
-
### Bug Fixes
|
|
99
|
-
|
|
100
|
-
- add another missing lib ([d5cf928](https://github.com/sesamyab/sesamy-js/commit/d5cf928a3af3dda59651ddec3796a6684764435f))
|
|
101
|
-
- add prod config ([646b4e5](https://github.com/sesamyab/sesamy-js/commit/646b4e57b65b14a0658b2d5831e928bfb08c59c5))
|
|
102
|
-
- add semantic release ([9c1edd0](https://github.com/sesamyab/sesamy-js/commit/9c1edd0d16d14c38445f88dfd31aeeced7836b59))
|
|
103
|
-
- add semantic versioning ([aa13062](https://github.com/sesamyab/sesamy-js/commit/aa13062c54b6a64db3e5439dcd88b30ff8450bc5))
|
|
104
|
-
- add specific exports ([d95f904](https://github.com/sesamyab/sesamy-js/commit/d95f9041dfa32349105d18e4aaf9b4aa7574d3df))
|
|
105
|
-
- added a vite config for multiple html files ([780fd13](https://github.com/sesamyab/sesamy-js/commit/780fd13501a59cd6ad7785662885eddf24d6434c))
|
|
106
|
-
- added missing lib ([49174b4](https://github.com/sesamyab/sesamy-js/commit/49174b435ae254fe0078813edfa42f525b7feb30))
|
|
107
|
-
- analytics config ([8d1f2bc](https://github.com/sesamyab/sesamy-js/commit/8d1f2bc8f8c1f57abbbb80409d8be6088a36b532))
|
|
108
|
-
- casing ([b8b9492](https://github.com/sesamyab/sesamy-js/commit/b8b9492eb8ee4cc469b18edf4d80728dd44c78dd))
|
|
109
|
-
- change log endpoint ([9ee757d](https://github.com/sesamyab/sesamy-js/commit/9ee757d86ec78f840da3aa467164827d7ed87f83))
|
|
110
|
-
- ci ([d162031](https://github.com/sesamyab/sesamy-js/commit/d1620315f1a3c9a2d47a8995e1e05940f8203bf7))
|
|
111
|
-
- debug ([8e0def3](https://github.com/sesamyab/sesamy-js/commit/8e0def35fd27163e6e076d5c67c8f6ae465c2628))
|
|
112
|
-
- handle redirect ([0947f80](https://github.com/sesamyab/sesamy-js/commit/0947f80c16c0f353a1dc4d178292fa2ecc655c99))
|
|
113
|
-
- meta tag ([dde6d2e](https://github.com/sesamyab/sesamy-js/commit/dde6d2e0249b62265f6bccaa92b81bc9d9b1594c))
|
|
114
|
-
- metatags ([4ce1e22](https://github.com/sesamyab/sesamy-js/commit/4ce1e222a0b83f5bd0dc8f48fb284691c297ac6d))
|
|
115
|
-
- more tokens ([6c2a99a](https://github.com/sesamyab/sesamy-js/commit/6c2a99a0d1d6195d346d04dd5eb999820a61f348))
|
|
116
|
-
- npm config ([b495c5c](https://github.com/sesamyab/sesamy-js/commit/b495c5ca91c81b0f2f15c1b22607cf4d28866abb))
|
|
117
|
-
- review comments ([02ed539](https://github.com/sesamyab/sesamy-js/commit/02ed539b8216229d2c81f7e720cc9c6b88a73d37))
|
|
118
|
-
- separate the vite config ([e96521e](https://github.com/sesamyab/sesamy-js/commit/e96521e873e9abfbc13371f00054417880b136f9))
|
|
119
|
-
- set explicit any ([d7f774b](https://github.com/sesamyab/sesamy-js/commit/d7f774bb72660cb45d2e403ef3b7ec63a8e0ddf8))
|
|
120
|
-
- specify files ([38f8e45](https://github.com/sesamyab/sesamy-js/commit/38f8e45a43b529c9625506693cda87efe1cfe3a2))
|
|
121
|
-
- switch to a scoped package ([6e7c652](https://github.com/sesamyab/sesamy-js/commit/6e7c65259de9e6ffe78a9a6bfb9641b4d9687fc6))
|
|
122
|
-
- type checks ([3300cf2](https://github.com/sesamyab/sesamy-js/commit/3300cf2bcc18118840f12e5aa46fa1015ef626b9))
|
|
123
|
-
- update auth0 credentials ([c5a019c](https://github.com/sesamyab/sesamy-js/commit/c5a019c46131273b2f9824ab926fd4cce5dcd5f0))
|
|
124
|
-
- use fetch post for sending analytics unless the page is unloading ([cc79c23](https://github.com/sesamyab/sesamy-js/commit/cc79c23594fbd2d5a034b5fb9fd9b79582b7a597))
|
|
125
|
-
- use separate config ([aec3336](https://github.com/sesamyab/sesamy-js/commit/aec333641af3a471a051e0f6e98b91679a6e0efd))
|
|
126
|
-
|
|
127
|
-
### Features
|
|
128
|
-
|
|
129
|
-
- add active and idle ([b7f0256](https://github.com/sesamyab/sesamy-js/commit/b7f025674ab72bbcd7257400e42dcad2f9368e47))
|
|
130
|
-
- boilerplate ([fb5fb03](https://github.com/sesamyab/sesamy-js/commit/fb5fb0358c9205e2c9af641444c8d8956912476f))
|
|
131
|
-
- extend config ([0b24bba](https://github.com/sesamyab/sesamy-js/commit/0b24bba068a8a5f5dc85b09193a566ff6c1e77f5))
|
|
132
|
-
- move existing analytics ([3f3e73a](https://github.com/sesamyab/sesamy-js/commit/3f3e73a22dd1d1cbe1b815ef89deb2ada91f93c1))
|
package/README.md
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
# sesamy-js
|
|
2
|
-
|
|
3
|
-
The Sesamy browser javascript API
|
|
4
|
-
|
|
5
|
-
The project handles analytics, authentication and communication with the Seasmy API
|
|
6
|
-
|
|
7
|
-
## Analytics
|
|
8
|
-
|
|
9
|
-
The analytics module is used to track events and page views. It is using the [GetAnalytics](https://getanalytics.io/) library to send events to the Sesamy interaction endpoint.
|
|
10
|
-
|
|
11
|
-
The following events are tracked:
|
|
12
|
-
|
|
13
|
-
- Page views, with events triggered on router updates
|
|
14
|
-
|
|
15
|
-
## API
|
|
16
|
-
|
|
17
|
-
The following methods are available on the `sesamy` object:
|
|
18
|
-
|
|
19
|
-
- init - Initializes the sesamy-js library
|
|
20
|
-
- auth
|
|
21
|
-
- getUser: fetches the user's profile
|
|
22
|
-
- isAuthenticated: checks if the user is authenticated
|
|
23
|
-
- loginWithRedirect: redirects the user to the login page
|
|
24
|
-
- logout: logs the user out
|
|
25
|
-
- entitlements
|
|
26
|
-
- get: fetches a single entitlement by id
|
|
27
|
-
- list - fetches the user's entitlements
|
|
28
|
-
- profile
|
|
29
|
-
- get: fetches the user's profile
|
|
30
|
-
- update: updates the user's profile
|
|
31
|
-
- tags
|
|
32
|
-
- get: fetches the user's tags
|
|
33
|
-
- set: sets a tag for the user
|
|
34
|
-
- push: pushes a tag to a tag list
|
|
35
|
-
- getVersion: returns the version of the sesamy-js library
|
|
36
|
-
|
|
37
|
-
## Events
|
|
38
|
-
|
|
39
|
-
The following events are emitted by the sesamy-js library:
|
|
40
|
-
|
|
41
|
-
- `sesamyReady` - Emitted when the `sesamy-js` library is ready to be used
|
|
42
|
-
- `sesamyAuthenticated` - Emitted when the user is authenticated
|
|
43
|
-
|
|
44
|
-
## Usage
|
|
45
|
-
|
|
46
|
-
The script can either be initiated with a JSON object in a script tag or by calling the init method.
|
|
47
|
-
|
|
48
|
-
The script will look for a script tag with the id `sesamy-js`, and if it isn't found it will wait for a call to the init function before initializing. The only required part is the `clientId` attribute.
|
|
49
|
-
|
|
50
|
-
```html
|
|
51
|
-
<script type="application/json" id="sesamy-js">
|
|
52
|
-
{
|
|
53
|
-
"clientId": "demo"
|
|
54
|
-
}
|
|
55
|
-
</script>
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
These are the available configuration options, with their default values:
|
|
59
|
-
|
|
60
|
-
```javascript
|
|
61
|
-
{
|
|
62
|
-
clientId: null,
|
|
63
|
-
namespace: 'sesamy',
|
|
64
|
-
analytics: {
|
|
65
|
-
enabled: true,
|
|
66
|
-
endpoint: 'https://logs.sesamy.com/events'
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
```
|
package/article.html
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8" />
|
|
5
|
-
<link rel="icon" type="image/png" href="/sesamy.png" />
|
|
6
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
|
-
<title>Test acticle</title>
|
|
8
|
-
<script type="application/json" id="sesamy-js">
|
|
9
|
-
{
|
|
10
|
-
"clientId": "demo",
|
|
11
|
-
"analytics": {
|
|
12
|
-
"enabled": true
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
</script>
|
|
16
|
-
<meta property="sesamy:client-id" content="demo" />
|
|
17
|
-
<meta property="sesamy:price" content="19" />
|
|
18
|
-
<meta property="sesamy:currency" content="SEK" />
|
|
19
|
-
<meta name="title" content="Sesamy-js test article" />
|
|
20
|
-
</head>
|
|
21
|
-
|
|
22
|
-
<body>
|
|
23
|
-
<article>
|
|
24
|
-
<h1>Test article</h1>
|
|
25
|
-
<a href="#" onclick="navigateToArticle()">Go to next article</a>
|
|
26
|
-
</article>
|
|
27
|
-
<button id="buy" onclick="buy()">Buy</button>
|
|
28
|
-
<script type="module" src="/src/index.ts"></script>
|
|
29
|
-
<script type="module" src="/src/app.ts"></script>
|
|
30
|
-
<script>
|
|
31
|
-
function buy() {
|
|
32
|
-
console.log('TODO: Call checkout here');
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
function navigateToArticle() {
|
|
36
|
-
// Parse the current URL and its query parameters
|
|
37
|
-
const currentUrl = new URL(window.location.href);
|
|
38
|
-
const searchParams = currentUrl.searchParams;
|
|
39
|
-
|
|
40
|
-
// Get the current 'articleId' value, if it exists
|
|
41
|
-
const currentArticleId = searchParams.get('articleId');
|
|
42
|
-
|
|
43
|
-
// Determine the new articleId: increment if exists, otherwise set to 1
|
|
44
|
-
const newArticleId = currentArticleId ? parseInt(currentArticleId, 10) + 1 : 1;
|
|
45
|
-
|
|
46
|
-
// Set the new articleId value in the search parameters
|
|
47
|
-
searchParams.set('articleId', newArticleId);
|
|
48
|
-
|
|
49
|
-
// Update the search part of the URL
|
|
50
|
-
currentUrl.search = searchParams.toString();
|
|
51
|
-
|
|
52
|
-
// Navigate to the new URL
|
|
53
|
-
window.location.href = currentUrl.toString();
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
window.addEventListener('sesamySoftPaywall', function (event) {
|
|
57
|
-
alert('Soft paywall triggered');
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
window.addEventListener('sesamyReady', function (event) {
|
|
61
|
-
sesamy.articles.access(window.location.href);
|
|
62
|
-
});
|
|
63
|
-
</script>
|
|
64
|
-
</body>
|
|
65
|
-
</html>
|
package/contracts.html
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="sv">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8" />
|
|
5
|
-
<link rel="icon" type="image/png" href="/sesamy.png" />
|
|
6
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
|
-
<title>Article</title>
|
|
8
|
-
<script type="application/json" id="sesamy-js">
|
|
9
|
-
{
|
|
10
|
-
"clientId": "sesamy",
|
|
11
|
-
"analytics": {
|
|
12
|
-
"enabled": true
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
</script>
|
|
16
|
-
</head>
|
|
17
|
-
|
|
18
|
-
<body>
|
|
19
|
-
<sesamy-contracts></sesamy-contracts>
|
|
20
|
-
<script type="module" src="/src/index.ts"></script>
|
|
21
|
-
<script type="module" src="/src/SesamyContracts.ts"></script>
|
|
22
|
-
</body>
|
|
23
|
-
</html>
|
package/entitlements.html
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="sv">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8" />
|
|
5
|
-
<link rel="icon" type="image/png" href="/sesamy.png" />
|
|
6
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
|
-
<title>Article</title>
|
|
8
|
-
<script type="application/json" id="sesamy-js">
|
|
9
|
-
{
|
|
10
|
-
"clientId": "sesamy",
|
|
11
|
-
"analytics": {
|
|
12
|
-
"enabled": true
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
</script>
|
|
16
|
-
</head>
|
|
17
|
-
|
|
18
|
-
<body>
|
|
19
|
-
<sesamy-entitlements></sesamy-entitlements>
|
|
20
|
-
<script type="module" src="/src/index.ts"></script>
|
|
21
|
-
<script type="module" src="/src/SesamyEntitlements.ts"></script>
|
|
22
|
-
</body>
|
|
23
|
-
</html>
|
package/index.html
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8" />
|
|
5
|
-
<link rel="icon" type="image/png" href="/sesamy.png" />
|
|
6
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
|
-
<title>Sesamy JS</title>
|
|
8
|
-
<script type="application/json" id="sesamy-js">
|
|
9
|
-
{
|
|
10
|
-
"clientId": "sesamy",
|
|
11
|
-
"analytics": {
|
|
12
|
-
"enabled": true
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
</script>
|
|
16
|
-
</head>
|
|
17
|
-
|
|
18
|
-
<body>
|
|
19
|
-
<div id="app"></div>
|
|
20
|
-
<sesamy-app></sesamy-app>
|
|
21
|
-
<script type="module" src="/src/index.ts"></script>
|
|
22
|
-
<script type="module" src="/src/app.ts"></script>
|
|
23
|
-
</body>
|
|
24
|
-
</html>
|
package/renovate.json
DELETED
package/src/SesamyContracts.ts
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import './style.css';
|
|
2
|
-
import './entitlementsStyle.css';
|
|
3
|
-
import { Events } from './types/Events';
|
|
4
|
-
import { getContracts, getContract } from './services/sesamy/index';
|
|
5
|
-
|
|
6
|
-
class SesamyContracts extends HTMLElement {
|
|
7
|
-
public contracts: any;
|
|
8
|
-
public li: any = '';
|
|
9
|
-
|
|
10
|
-
constructor() {
|
|
11
|
-
super();
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
async _handleContracts() {
|
|
15
|
-
this.contracts = await getContracts();
|
|
16
|
-
this.contracts.map((contract: any) => {
|
|
17
|
-
this.li += `
|
|
18
|
-
<li>
|
|
19
|
-
<button class="entitlementBtn auth-visible" id="contract-btn" data-id="${contract.id}">
|
|
20
|
-
<div class="details">
|
|
21
|
-
${
|
|
22
|
-
contract.items.length > 0
|
|
23
|
-
? `<div class="cell">
|
|
24
|
-
${contract.items.map((item: any) => {
|
|
25
|
-
`<div class="item">${item.sku}</div>
|
|
26
|
-
<div class="item">${item.title}</div>
|
|
27
|
-
<div class="item">${item.purchaseOption}</div>`;
|
|
28
|
-
})}
|
|
29
|
-
</div>`
|
|
30
|
-
: `<div class="cell"></div>`
|
|
31
|
-
}
|
|
32
|
-
<span class="type">${contract.status}</span>
|
|
33
|
-
<span class="date"> ${contract.createdAt} </span>
|
|
34
|
-
</div>
|
|
35
|
-
</button>
|
|
36
|
-
</li>`;
|
|
37
|
-
});
|
|
38
|
-
this.render();
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
_handleContractClick(contractID: any) {
|
|
42
|
-
getContract(contractID).then(response => {
|
|
43
|
-
console.log(response);
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
async connectedCallback() {
|
|
48
|
-
this.setupEventListeners();
|
|
49
|
-
if (!window.sesamy) {
|
|
50
|
-
window.addEventListener(Events.READY, () => this._handleContracts());
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
this._handleContracts();
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
render() {
|
|
58
|
-
if (!this.contracts) {
|
|
59
|
-
return (this.innerHTML = `<div class="container"> Not Found Any Contracts </div>`);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
return (this.innerHTML = `
|
|
63
|
-
<div class="container">
|
|
64
|
-
<div class="title"><h1>Contracts</h1></div>
|
|
65
|
-
<div class="contant">
|
|
66
|
-
<ul>
|
|
67
|
-
${this.li}
|
|
68
|
-
</ul>
|
|
69
|
-
</div>
|
|
70
|
-
</div>`);
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
private setupEventListeners() {
|
|
74
|
-
this.addEventListener('click', event => {
|
|
75
|
-
const clickedElement = event.target as Element;
|
|
76
|
-
const contractBtn = clickedElement.closest('#contract-btn');
|
|
77
|
-
|
|
78
|
-
if (contractBtn) {
|
|
79
|
-
const contractID = contractBtn.getAttribute('data-id');
|
|
80
|
-
this._handleContractClick(contractID);
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
customElements.define('sesamy-contracts', SesamyContracts);
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import './style.css';
|
|
2
|
-
import './entitlementsStyle.css';
|
|
3
|
-
import { Events } from './types/Events';
|
|
4
|
-
import { getEntitlements, getEntitlement } from './services/sesamy/index';
|
|
5
|
-
/**
|
|
6
|
-
* This class is only used for rendering the UI and not shipped in the bundle
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
class SesamyEntitlements extends HTMLElement {
|
|
10
|
-
public entitlements: any;
|
|
11
|
-
public li: any = '';
|
|
12
|
-
|
|
13
|
-
constructor() {
|
|
14
|
-
super();
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
async _handleEntitlements() {
|
|
18
|
-
this.entitlements = await getEntitlements();
|
|
19
|
-
this.entitlements.map((entitlement: any) => {
|
|
20
|
-
this.li += `
|
|
21
|
-
<li>
|
|
22
|
-
<button class="entitlementBtn auth-visible" id="entitlement-btn" data-id="${entitlement.id}">
|
|
23
|
-
<div class="image-container">
|
|
24
|
-
<img
|
|
25
|
-
src="${entitlement.cover}"
|
|
26
|
-
alt= "${entitlement.title}"
|
|
27
|
-
onerror="this.onerror=null; this.src='https://placehold.co/600x400'"
|
|
28
|
-
/>
|
|
29
|
-
</div>
|
|
30
|
-
<div class="details">
|
|
31
|
-
<span class="type">${entitlement.productType}</span>
|
|
32
|
-
<span class="date"> ${entitlement.created} </span>
|
|
33
|
-
</div>
|
|
34
|
-
</button>
|
|
35
|
-
</li>`;
|
|
36
|
-
});
|
|
37
|
-
this.render();
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
_handleEntitlementClick(entitlementID: any) {
|
|
41
|
-
getEntitlement(entitlementID).then(response => {
|
|
42
|
-
console.log(response);
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
async connectedCallback() {
|
|
47
|
-
this.setupEventListeners();
|
|
48
|
-
if (!window.sesamy) {
|
|
49
|
-
window.addEventListener(Events.READY, () => this._handleEntitlements());
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
this._handleEntitlements();
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
render() {
|
|
57
|
-
if (!this.entitlements) {
|
|
58
|
-
return (this.innerHTML = `<div class="container"> Not Found Purchases </div>`);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
return (this.innerHTML = `
|
|
62
|
-
<div class="container">
|
|
63
|
-
<div class="title"><h1>Purchases</h1></div>
|
|
64
|
-
<div class="contant">
|
|
65
|
-
<ul>
|
|
66
|
-
${this.li}
|
|
67
|
-
</ul>
|
|
68
|
-
</div>
|
|
69
|
-
</div>`);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
private setupEventListeners() {
|
|
73
|
-
this.addEventListener('click', event => {
|
|
74
|
-
const clickedElement = event.target as Element;
|
|
75
|
-
const entitlementBtn = clickedElement.closest('#entitlement-btn');
|
|
76
|
-
|
|
77
|
-
if (entitlementBtn) {
|
|
78
|
-
const entitlementID = entitlementBtn.getAttribute('data-id');
|
|
79
|
-
this._handleEntitlementClick(entitlementID);
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
customElements.define('sesamy-entitlements', SesamyEntitlements);
|