@teipublisher/pb-components 3.0.0-next-4.3 → 3.0.1

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.
Files changed (239) hide show
  1. package/.github/workflows/main.yml +24 -0
  2. package/.github/workflows/node.js.yml +21 -70
  3. package/.github/workflows/release.js.yml +34 -0
  4. package/.releaserc.json +3 -8
  5. package/CHANGELOG.md +14 -113
  6. package/README.md +5 -114
  7. package/css/gridjs/mermaid.min.css +1 -1
  8. package/css/leaflet/Control.Geocoder.css +126 -1
  9. package/css/tify/tify.css +5 -6
  10. package/css/tom-select/tom-select.bootstrap4.min.css +1 -1
  11. package/css/tom-select/tom-select.bootstrap5.min.css +1 -1
  12. package/css/tom-select/tom-select.default.min.css +1 -1
  13. package/css/tom-select/tom-select.min.css +1 -1
  14. package/dist/api.html +1 -1
  15. package/dist/demo/bundle-test.html +3 -4
  16. package/dist/demo/dts-client.html +2 -2
  17. package/dist/demo/pb-autocomplete.html +11 -23
  18. package/dist/demo/pb-autocomplete2.html +55 -66
  19. package/dist/demo/pb-autocomplete3.html +8 -17
  20. package/dist/demo/pb-blacklab-highlight.html +11 -28
  21. package/dist/demo/pb-blacklab-results.html +2 -3
  22. package/dist/demo/pb-browse-docs.html +24 -24
  23. package/dist/demo/pb-browse-docs2.html +2 -2
  24. package/dist/demo/pb-clipboard.html +28 -32
  25. package/dist/demo/pb-code-editor.html +6 -6
  26. package/dist/demo/pb-code-highlight.html +63 -63
  27. package/dist/demo/pb-codepen.html +1 -1
  28. package/dist/demo/pb-collapse.html +1 -1
  29. package/dist/demo/pb-collapse2.html +2 -2
  30. package/dist/demo/pb-combo-box.html +130 -135
  31. package/dist/demo/pb-custom-form.html +55 -64
  32. package/dist/demo/pb-dialog.html +1 -9
  33. package/dist/demo/pb-document.html +1 -1
  34. package/dist/demo/pb-download.html +59 -68
  35. package/dist/demo/pb-drawer.html +46 -67
  36. package/dist/demo/pb-drawer2.html +58 -65
  37. package/dist/demo/pb-edit-app.html +2 -2
  38. package/dist/demo/pb-edit-xml.html +1 -1
  39. package/dist/demo/pb-facsimile-2.html +11 -26
  40. package/dist/demo/pb-facsimile-3.html +10 -25
  41. package/dist/demo/pb-facsimile.html +2 -2
  42. package/dist/demo/pb-formula.html +1 -1
  43. package/dist/demo/pb-grid.html +3 -4
  44. package/dist/demo/pb-highlight.html +2 -2
  45. package/dist/demo/pb-i18n.html +5 -15
  46. package/dist/demo/pb-image-strip-standalone.html +2 -2
  47. package/dist/demo/pb-image-strip-view.html +2 -2
  48. package/dist/demo/pb-leaflet-map.html +2 -2
  49. package/dist/demo/pb-leaflet-map2.html +2 -2
  50. package/dist/demo/pb-leaflet-map3.html +3 -3
  51. package/dist/demo/pb-link.html +1 -1
  52. package/dist/demo/pb-load.html +6 -2
  53. package/dist/demo/pb-login.html +1 -1
  54. package/dist/demo/pb-manage-odds.html +4 -9
  55. package/dist/demo/pb-markdown.html +1 -1
  56. package/dist/demo/pb-media-query.html +2 -2
  57. package/dist/demo/pb-mei.html +2 -2
  58. package/dist/demo/pb-mei2.html +2 -2
  59. package/dist/demo/pb-message.html +1 -1
  60. package/dist/demo/pb-odd-editor.html +52 -54
  61. package/dist/demo/pb-popover.html +1 -1
  62. package/dist/demo/pb-print-preview.html +2 -2
  63. package/dist/demo/pb-progress.html +2 -2
  64. package/dist/demo/pb-repeat.html +34 -32
  65. package/dist/demo/pb-search.html +1 -9
  66. package/dist/demo/pb-search2.html +4 -4
  67. package/dist/demo/pb-search3.html +2 -2
  68. package/dist/demo/pb-search4.html +1 -1
  69. package/dist/demo/pb-select-feature.html +4 -4
  70. package/dist/demo/pb-select-feature2.html +4 -4
  71. package/dist/demo/pb-select-feature3.html +2 -2
  72. package/dist/demo/pb-select-i18n.html +53 -58
  73. package/dist/demo/pb-select-odd.html +1 -1
  74. package/dist/demo/pb-select.html +75 -190
  75. package/dist/demo/pb-select2.html +37 -91
  76. package/dist/demo/pb-select3.html +41 -109
  77. package/dist/demo/pb-svg.html +1 -1
  78. package/dist/demo/pb-table-grid.html +15 -26
  79. package/dist/demo/pb-tabs.html +7 -15
  80. package/dist/demo/pb-tify.html +7 -7
  81. package/dist/demo/pb-timeline.html +1 -1
  82. package/dist/demo/pb-timeline2.html +1 -1
  83. package/dist/demo/pb-toggle-feature.html +23 -26
  84. package/dist/demo/pb-toggle-feature2.html +4 -4
  85. package/dist/demo/pb-toggle-feature3.html +2 -2
  86. package/dist/demo/pb-toggle-feature4.html +54 -56
  87. package/dist/demo/pb-version.html +2 -2
  88. package/dist/demo/pb-view.html +40 -78
  89. package/dist/demo/pb-view2.html +46 -69
  90. package/dist/demo/pb-view3.html +48 -53
  91. package/dist/demo/pb-view4.html +49 -70
  92. package/dist/demo/pb-zoom.html +2 -2
  93. package/dist/{es-global-bridge-D8ZcUcx_.js → es-global-bridge-d8ce175d.js} +4 -0
  94. package/dist/iron-form-dfb3e3b1.js +210 -0
  95. package/dist/jinn-codemirror-da0e2d1f.js +1 -0
  96. package/dist/paper-checkbox-645e1077.js +200 -0
  97. package/dist/paper-icon-button-984162bd.js +398 -0
  98. package/dist/paper-inky-focus-behavior-fa16796b.js +1408 -0
  99. package/dist/paper-listbox-5f5d1cec.js +1255 -0
  100. package/dist/pb-code-editor.js +3 -3
  101. package/dist/pb-component-docs.js +3231 -416
  102. package/dist/pb-components-bundle.js +3043 -1997
  103. package/dist/pb-edit-app.js +124 -165
  104. package/dist/pb-elements.json +124 -535
  105. package/dist/pb-i18n-4cc00bfe.js +1 -0
  106. package/dist/pb-leaflet-map.js +6 -6
  107. package/dist/pb-mei.js +111 -114
  108. package/dist/pb-mixin-886ece32.js +158 -0
  109. package/dist/pb-odd-editor.js +887 -1086
  110. package/dist/pb-tify.js +27 -1
  111. package/dist/polymer-hack.js +1 -0
  112. package/dist/vaadin-element-mixin-beb74ffd.js +545 -0
  113. package/gh-pages.js +9 -5
  114. package/index.html +5 -0
  115. package/lib/Control.Geocoder.min.js +2 -0
  116. package/lib/Control.Geocoder.min.js.map +1 -0
  117. package/package.json +79 -54
  118. package/pb-elements.json +124 -535
  119. package/src/authority/custom.js +6 -47
  120. package/src/authority/kbga.js +1 -0
  121. package/src/authority/reconciliation.js +1 -0
  122. package/src/docs/pb-component-docs.js +145 -285
  123. package/src/docs/pb-component-view.js +271 -378
  124. package/src/docs/pb-components-list.js +49 -113
  125. package/src/docs/pb-demo-snippet.js +172 -197
  126. package/src/dts-client.js +23 -24
  127. package/src/dts-select-endpoint.js +34 -66
  128. package/src/pb-ajax.js +5 -20
  129. package/src/pb-authority-lookup.js +4 -9
  130. package/src/pb-autocomplete.js +269 -675
  131. package/src/pb-blacklab-highlight.js +5 -6
  132. package/src/pb-blacklab-results.js +59 -49
  133. package/src/pb-browse-docs.js +175 -227
  134. package/src/pb-clipboard.js +6 -24
  135. package/src/pb-code-editor.js +1 -1
  136. package/src/pb-code-highlight.js +5 -27
  137. package/src/pb-codepen.js +2 -3
  138. package/src/pb-collapse.js +32 -85
  139. package/src/pb-combo-box.js +1 -1
  140. package/src/pb-components-bundle.js +6 -0
  141. package/src/pb-components.js +6 -1
  142. package/src/pb-custom-form.js +28 -97
  143. package/src/pb-dialog.js +4 -4
  144. package/src/pb-document.js +5 -33
  145. package/src/pb-download.js +3 -3
  146. package/src/pb-drawer.js +1 -1
  147. package/src/pb-edit-app.js +209 -368
  148. package/src/pb-edit-xml.js +1 -1
  149. package/src/pb-events.js +0 -12
  150. package/src/pb-facs-link.js +16 -43
  151. package/src/pb-facsimile.js +3 -23
  152. package/src/pb-formula.js +1 -1
  153. package/src/pb-geolocation.js +1 -1
  154. package/src/pb-grid-action.js +3 -9
  155. package/src/pb-grid.js +41 -198
  156. package/src/pb-highlight.js +2 -2
  157. package/src/pb-i18n.js +93 -84
  158. package/src/pb-image-strip.js +1 -1
  159. package/src/pb-lang.js +1 -1
  160. package/src/pb-leaflet-map.js +19 -84
  161. package/src/pb-link.js +3 -7
  162. package/src/pb-load.js +11 -76
  163. package/src/pb-login.js +7 -7
  164. package/src/pb-manage-odds.js +72 -102
  165. package/src/pb-map-icon.js +1 -1
  166. package/src/pb-map-layer.js +1 -1
  167. package/src/pb-markdown.js +20 -26
  168. package/src/pb-media-query.js +1 -1
  169. package/src/pb-mei.js +54 -263
  170. package/src/pb-message.js +5 -9
  171. package/src/pb-mixin.js +2 -0
  172. package/src/pb-navigation.js +2 -4
  173. package/src/pb-observable.js +1 -1
  174. package/src/pb-odd-editor.js +130 -295
  175. package/src/pb-odd-elementspec-editor.js +30 -44
  176. package/src/pb-odd-model-editor.js +124 -206
  177. package/src/pb-odd-parameter-editor.js +35 -112
  178. package/src/pb-odd-rendition-editor.js +28 -69
  179. package/src/pb-page.js +20 -40
  180. package/src/pb-paginate.js +28 -60
  181. package/src/pb-panel.js +27 -45
  182. package/src/pb-popover-themes.js +1 -1
  183. package/src/pb-popover.js +1 -1
  184. package/src/pb-print-preview.js +1 -1
  185. package/src/pb-progress.js +1 -1
  186. package/src/pb-repeat.js +17 -49
  187. package/src/pb-restricted.js +1 -1
  188. package/src/pb-search.js +4 -4
  189. package/src/pb-select-feature.js +25 -102
  190. package/src/pb-select-odd.js +41 -99
  191. package/src/pb-select-template.js +25 -49
  192. package/src/pb-select.js +90 -167
  193. package/src/pb-split-list.js +2 -2
  194. package/src/pb-svg.js +1 -1
  195. package/src/pb-table-column.js +1 -1
  196. package/src/pb-table-grid.js +87 -198
  197. package/src/pb-tabs.js +28 -207
  198. package/src/pb-tify.js +40 -3245
  199. package/src/pb-timeline.js +28 -34
  200. package/src/pb-toggle-feature.js +1 -1
  201. package/src/pb-upload.js +17 -32
  202. package/src/pb-version.js +15 -3
  203. package/src/pb-view-annotate.js +5 -4
  204. package/src/pb-view.js +105 -543
  205. package/src/pb-zoom.js +21 -35
  206. package/src/polymer-hack.js +6 -0
  207. package/src/seed-element.js +2 -1
  208. package/src/urls.js +10 -124
  209. package/.github/workflows/docker-cypress.yml +0 -53
  210. package/css/tom-select/tom-select.default.min.css.map +0 -1
  211. package/cypress.config.js +0 -84
  212. package/dist/css/design-system.css +0 -607
  213. package/dist/demo/design-system.html +0 -710
  214. package/dist/demo/pb-facsimile-dedup-test-2.html +0 -48
  215. package/dist/demo/pb-facsimile-dedup-test.html +0 -48
  216. package/dist/demo/pb-i18n-simple.html +0 -1
  217. package/dist/demo/pb-page-header.html +0 -27
  218. package/dist/focus-mixin-VCsFap6b.js +0 -768
  219. package/dist/images/icons.svg +0 -217
  220. package/dist/jinn-codemirror-DETLdm08.js +0 -1
  221. package/dist/lib/openseadragon.min.js +0 -80
  222. package/dist/lib/openseadragon.min.js.map +0 -1
  223. package/dist/pb-dialog-tklYGWfc.js +0 -121
  224. package/dist/pb-facsimile.js +0 -46
  225. package/dist/pb-i18n-C0NDma4h.js +0 -1
  226. package/dist/pb-mixin-DHoWQheB.js +0 -1
  227. package/dist/unsafe-html-D5VGo9Oq.js +0 -1
  228. package/dist/urls-BEONu_g4.js +0 -1
  229. package/eslint.config.mjs +0 -92
  230. package/images/icons.svg +0 -217
  231. package/lib/leaflet-src.js.map +0 -1
  232. package/lib/leaflet.markercluster-src.js.map +0 -1
  233. package/rollup.config.mjs +0 -312
  234. package/src/assets/design-system.css +0 -607
  235. package/src/docs/demo-utils.js +0 -91
  236. package/src/pb-fetch.js +0 -389
  237. package/src/pb-icon-button.js +0 -108
  238. package/src/pb-icon.js +0 -283
  239. package/vite.config.js +0 -86
@@ -0,0 +1,24 @@
1
+ on:
2
+ push:
3
+ tags:
4
+ - v*
5
+ workflow_dispatch:
6
+ name: Deploy to GitHub Pages
7
+ jobs:
8
+ build:
9
+ runs-on: ubuntu-latest
10
+ steps:
11
+ - uses: actions/checkout@v6
12
+ - name: Setup Node.js environment
13
+ uses: actions/setup-node@v6
14
+ with:
15
+ node-version: "22"
16
+ - run: npm ci
17
+ - run: npm run gh-pages
18
+ - name: Deploy to gh-pages
19
+ uses: peaceiris/actions-gh-pages@v4
20
+ with:
21
+ github_token: ${{ secrets.GITHUB_TOKEN }}
22
+ publish_dir: ./docs
23
+ keep_files: true
24
+ cname: cdn.tei-publisher.com
@@ -1,84 +1,35 @@
1
- name: Build and Test
1
+ name: tei-publisher-components CI
2
2
 
3
3
  on:
4
4
  pull_request:
5
- branches: [ master, next* ]
5
+ branches: [ master, develop ]
6
6
 
7
7
  push:
8
8
  branches:
9
- - master
10
- - next-4
9
+ - develop
10
+
11
11
  workflow_dispatch:
12
12
 
13
13
  jobs:
14
- test-fast:
15
- name: Cypress Component Tests
14
+ build:
16
15
  runs-on: ubuntu-latest
17
16
  steps:
18
- - uses: actions/checkout@v5
19
- - name: Use Node.js
20
- uses: actions/setup-node@v5
21
- with:
22
- node-version: "24"
23
- cache: npm
24
- cache-dependency-path: package-lock.json
25
- - name: Install dependencies
26
- run: npm ci
27
- - name: Run Cypress Component Tests
28
- run: npm run cy:run:ct
29
-
30
- e2e:
31
- name: Cypress E2E Tests
32
- runs-on: ubuntu-latest
33
- steps:
34
- - uses: actions/checkout@v5
17
+ - uses: actions/checkout@v6
35
18
  - name: Use Node.js
36
- uses: actions/setup-node@v5
37
- with:
38
- node-version: "24"
39
- cache: npm
40
- cache-dependency-path: package-lock.json
41
- - name: Install dependencies
42
- run: npm ci
43
- - name: Build (production)
44
- run: npm run build:production
45
- - name: Run Cypress E2E Tests
46
- run: npm run cy:run:e2e
47
- release:
48
- name: Release
49
- needs: [test-fast, e2e]
50
- if: github.event_name == 'push' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/next-4')
51
- runs-on: ubuntu-latest
52
- permissions:
53
- contents: write
54
- issues: write
55
- pull-requests: write
56
- pages: write
57
- steps:
58
- - uses: actions/checkout@v5
59
- with:
60
- fetch-depth: 0
61
- - uses: actions/setup-node@v5
19
+ uses: actions/setup-node@v6
62
20
  with:
63
- node-version: "24"
64
- cache: npm
65
- cache-dependency-path: package-lock.json
66
- - name: npm install
67
- run: npm ci
68
- - run: npx semantic-release
69
- env:
70
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
71
- NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
72
-
73
- - name: Build docs
74
- run: npm run gh-pages
75
- if: success()
76
-
77
- - name: Deploy to GitHub Pages
78
- uses: peaceiris/actions-gh-pages@v4
21
+ node-version: "22"
22
+ - name: npm install and build
23
+ run:
24
+ npm ci
25
+ npm run build:production
26
+ - name: Build docker image
27
+ run: docker build -t exist-db -f Dockerfile .
28
+ - name: Start docker image
29
+ run: docker run --publish 8080:8080 --detach exist-db
30
+ - name: Wait for eXist
31
+ uses: iFaxity/wait-on-action@v1
79
32
  with:
80
- github_token: ${{ secrets.GITHUB_TOKEN }}
81
- publish_dir: ./docs
82
- keep_files: true
83
- cname: cdn.tei-publisher.com
84
- if: success()
33
+ resource: http-get://localhost:8080/exist/apps/tei-publisher/index.html
34
+ - name: npm test
35
+ run: npm test
@@ -0,0 +1,34 @@
1
+ name: Release npm package
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - master
7
+ - next-3
8
+
9
+ jobs:
10
+ release:
11
+ name: Release
12
+ runs-on: ubuntu-latest
13
+ steps:
14
+ - uses: actions/checkout@v5
15
+ - uses: actions/setup-node@v5
16
+ with:
17
+ node-version: "22"
18
+ - name: npm install and build
19
+ run:
20
+ npm ci
21
+ npm run build:production
22
+ - name: Build docker image
23
+ run: docker build -t exist-db -f Dockerfile .
24
+ - name: Start docker image
25
+ run: docker run --publish 8080:8080 --detach exist-db
26
+ - name: Wait for eXist
27
+ uses: iFaxity/wait-on-action@v1
28
+ with:
29
+ resource: http-get://localhost:8080/exist/apps/tei-publisher/api/version
30
+ - run: npm test
31
+ - run: npx semantic-release
32
+ env:
33
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
34
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
package/.releaserc.json CHANGED
@@ -2,23 +2,18 @@
2
2
  "branches": [
3
3
  "master",
4
4
  {
5
- "name": "next-4",
5
+ "name": "next-3",
6
6
  "prerelease": true,
7
7
  "channel": "next"
8
8
  }
9
9
  ],
10
10
  "repositoryUrl": "https://github.com/eeditiones/tei-publisher-components",
11
- "debug": "true",
11
+ "debug": true,
12
12
  "plugins": [
13
13
  "@semantic-release/commit-analyzer",
14
14
  "@semantic-release/release-notes-generator",
15
15
  "@semantic-release/npm",
16
- [
17
- "@semantic-release/github",
18
- {
19
- "repositoryUrl": "https://github.com/eeditiones/tei-publisher-components"
20
- }
21
- ],
16
+ "@semantic-release/github",
22
17
  [
23
18
  "@semantic-release/changelog",
24
19
  {
package/CHANGELOG.md CHANGED
@@ -1,167 +1,68 @@
1
- # [3.0.0-next-4.3](https://github.com/eeditiones/tei-publisher-components/compare/v3.0.0-next-4.2...v3.0.0-next-4.3) (2025-12-22)
1
+ ## [3.0.1](https://github.com/eeditiones/tei-publisher-components/compare/v3.0.0...v3.0.1) (2026-01-02)
2
2
 
3
3
 
4
4
  ### Bug Fixes
5
5
 
6
- * **README:** update build badge to GitHub Actions format ([5713734](https://github.com/eeditiones/tei-publisher-components/commit/5713734ebb481ac4878bddd19d64078b02f2e3c8))
6
+ * **pb-code-highlight:** prism needs explicit import to support json ([108f908](https://github.com/eeditiones/tei-publisher-components/commit/108f90803bfa9275c8dfaf76c859b53f96d4557a))
7
+ * **pb-paginate:** make it themable ([39965a1](https://github.com/eeditiones/tei-publisher-components/commit/39965a1a3f80f5671381f8f05fbddc3244a76c95))
8
+ * **pb-zoom:** stop click event ([beb445b](https://github.com/eeditiones/tei-publisher-components/commit/beb445b9a912b7ece9a050085710fead4e04c3ba))
7
9
 
8
- # [3.0.0-next-4.2](https://github.com/eeditiones/tei-publisher-components/compare/v3.0.0-next-4.1...v3.0.0-next-4.2) (2025-12-22)
10
+ # [3.0.0](https://github.com/eeditiones/tei-publisher-components/compare/v2.25.7...v3.0.0) (2025-12-22)
9
11
 
10
12
 
11
- ### Bug Fixes
12
-
13
- * **workflows:** reliably deploy GitHub Pages deploy on release ([89b1cc8](https://github.com/eeditiones/tei-publisher-components/commit/89b1cc806a85a44c96771df12de9382f9628bb79))
14
-
15
-
16
- ### chore
17
-
18
- * update Node.js version requirement to 24 ([76dc908](https://github.com/eeditiones/tei-publisher-components/commit/76dc9084fca2dd064a71311e12a71deb95700f97))
19
-
20
-
21
- ### BREAKING CHANGES
22
-
23
- * - `"node": ">=24"`
24
-
25
- # [3.0.0-next-4.1](https://github.com/eeditiones/tei-publisher-components/compare/v2.25.7...v3.0.0-next-4.1) (2025-12-22)
13
+ * chore!: release version 3.0.0 ([0b0a750](https://github.com/eeditiones/tei-publisher-components/commit/0b0a75006a22fdaa5bbc24142e659474f1faf1f7))
26
14
 
27
15
 
28
16
  ### Bug Fixes
29
17
 
30
- * **@webcomponents:** Remove legacy polyfills ([ab05e2d](https://github.com/eeditiones/tei-publisher-components/commit/ab05e2d6e66afd51b7882e818b2f2e9dd98f1372))
31
- * **components:** upgrade wave 1 ([fbed828](https://github.com/eeditiones/tei-publisher-components/commit/fbed8288e03f7e198ca15ce462ecce8c4e14a2f9))
32
- * **components:** upgrade wave 2 ([b126921](https://github.com/eeditiones/tei-publisher-components/commit/b126921f3d85679c0f7f02cafd1baff9aca4212b))
33
- * **components:** upgrade wave 3 ([314b867](https://github.com/eeditiones/tei-publisher-components/commit/314b867786bbfdb83717ecfca6a5dfbbb1437b6c))
34
- * corrects indentation ([99aac66](https://github.com/eeditiones/tei-publisher-components/commit/99aac66183710bee3b3fa05ee5ded93d3c13b7fb))
35
- * **custom.js:** inline nested connector factory to resolve circular dependency ([7de4e36](https://github.com/eeditiones/tei-publisher-components/commit/7de4e36775d9f5eff7cfbef350524fdf0aef24cf))
36
- * **demo, pb-leaflet-map:** update attribution formatting for map layers and enhance test coverage ([52448ae](https://github.com/eeditiones/tei-publisher-components/commit/52448ae1be57b30ecd8a1c8e12654630161047cd))
37
- * **demo, vite:** switch to relative URls ([2b0c627](https://github.com/eeditiones/tei-publisher-components/commit/2b0c627590612fd13bcc968276d3113aea44aa9b))
38
- * **demo/grid:** avoid dual imports ([2140018](https://github.com/eeditiones/tei-publisher-components/commit/214001843e4044fce67f81e2b4b0b1c5ea8d6b5d))
39
- * **demo/table-grid:** add require-language ([099158d](https://github.com/eeditiones/tei-publisher-components/commit/099158dbdcd8d694c940d30c20a65969229bef7a))
40
- * **demo:** JSCompiler closure shim ([f070510](https://github.com/eeditiones/tei-publisher-components/commit/f070510cb9df4da4dab0c1f506a0415828dd4b3e))
41
- * **demo:** remove legacy web-animations-js script references and update package.json ([7677a36](https://github.com/eeditiones/tei-publisher-components/commit/7677a3627152344631456e8d41649fcdca1d91da))
42
- * **e2e, vite:** enhance mock server ([3b4d1b0](https://github.com/eeditiones/tei-publisher-components/commit/3b4d1b03845be9094df776182bd0cd3916982c47))
43
- * **e2e:** enhance API interception for demo tests ([3b8a8f5](https://github.com/eeditiones/tei-publisher-components/commit/3b8a8f55c341787d79512d72f044765e6f82b133))
44
- * flaky tests ([334b468](https://github.com/eeditiones/tei-publisher-components/commit/334b46808b44489ce4943a7b5bbd206e959a7da7))
45
- * **node.js.yml:** reorder e2e test steps and mark Karma test as deprecated ([06f371a](https://github.com/eeditiones/tei-publisher-components/commit/06f371a185356c6483d39fd901133e01c00bb4a1))
46
- * **node.js.yml:** run Ci on next ([85519de](https://github.com/eeditiones/tei-publisher-components/commit/85519ded8bf42d84d4aa871715fafc2c1d75bc51))
47
18
  * **pb-ajax:** contained pb-message should initially be display=none to avoid taking space ([84df915](https://github.com/eeditiones/tei-publisher-components/commit/84df9159bf3dad8dcd200f2e5a4e6bbd744cf37e))
48
19
  * **pb-authority-lookup:** drop paper-input and paper-icon-button ([47edcd2](https://github.com/eeditiones/tei-publisher-components/commit/47edcd29b52e99a40309c4e8a2d5e394003c8813))
49
20
  * **pb-authority-lookup:** fix styling ([6272717](https://github.com/eeditiones/tei-publisher-components/commit/6272717f9ad8c126ce97e220099c45ef6f1923e6))
50
- * **pb-autocomplete, pb-repeat, pb-view, vite:** improve element imports, code consistency, and dependency resolution ([bf7e50d](https://github.com/eeditiones/tei-publisher-components/commit/bf7e50d7f7d189cbe6abc4e08468f91094789b3e))
51
- * **pb-blacklab:** improve semantic markup ([174726c](https://github.com/eeditiones/tei-publisher-components/commit/174726c2e3aced028dabd01e5f275ab47de80ddf))
52
- * **pb-codepen:** correct iframe title attribute and add loading attribute ([4ea18d7](https://github.com/eeditiones/tei-publisher-components/commit/4ea18d77e564c4139d700a5ea1fedd5892a004a3))
53
21
  * **pb-custom-form:** also handle key up for input[type=search] ([96bd084](https://github.com/eeditiones/tei-publisher-components/commit/96bd08490b79b15ed6a714575bc1f335f4563818))
54
- * **pb-dialog:** any button with [rel="prev"] should close the dialog ([9c8c7f0](https://github.com/eeditiones/tei-publisher-components/commit/9c8c7f0ac24ffb139fd71dcc5e58922a1488e165))
55
- * **pb-dialog:** include background svg for close button in default ([98d043d](https://github.com/eeditiones/tei-publisher-components/commit/98d043dae1e0669078cc1adac354b9273b23ed31))
56
22
  * **pb-dialog:** move dialog default CSS to components.css ([ece99c9](https://github.com/eeditiones/tei-publisher-components/commit/ece99c9bdb37cd70c81bbe54691d3263043e19a2))
57
- * **pb-download,pb-edit-xml:** make themable ([85c5834](https://github.com/eeditiones/tei-publisher-components/commit/85c583448ce9778b7cb061f69b259293fffa3b26))
58
23
  * **pb-download:** use pb-dialog instead of paper-dialog ([ddc4879](https://github.com/eeditiones/tei-publisher-components/commit/ddc48793d66c126df3ae023f15a4342c5b6f6661))
59
24
  * **pb-facsimile:** component did not initialize if openseadragon was already loaded; this prevented multiple instances on the same page ([16c881b](https://github.com/eeditiones/tei-publisher-components/commit/16c881bdd0e1c7d9d441414d020778050f714f5e))
60
- * **pb-facsimile:** improve overlay removal and add error handling for missing tiled images ([ef155c1](https://github.com/eeditiones/tei-publisher-components/commit/ef155c10d498c57be8e93561894e74c91e9b47a8))
61
25
  * **pb-facsimile:** perform better with many pb-facs-links ([4766df1](https://github.com/eeditiones/tei-publisher-components/commit/4766df1da278b198ef9bdbea9d6ecbe7978753b8))
62
- * **pb-grid, pb-grid-action:** improve panel management and removal ([af42ad8](https://github.com/eeditiones/tei-publisher-components/commit/af42ad839771b423e10dc2981e1bb8c4e70b804a))
63
- * **pb-grid.cy.js:** adjust test ([5f7f697](https://github.com/eeditiones/tei-publisher-components/commit/5f7f6975da2a233c04df250d725d0a05c989c9f9))
64
- * **pb-grid:** improve animation handling with fallback for unsupported promises ([cb26af9](https://github.com/eeditiones/tei-publisher-components/commit/cb26af9f946aa7ac03fc65cce40a777c6364986d))
26
+ * **pb-paginate:** fix width of active page number (closes [#279](https://github.com/eeditiones/tei-publisher-components/issues/279)) ([e85914b](https://github.com/eeditiones/tei-publisher-components/commit/e85914b9249b7b78c5962c562eb0633387bbb4c3))
27
+ * corrects indentation ([99aac66](https://github.com/eeditiones/tei-publisher-components/commit/99aac66183710bee3b3fa05ee5ded93d3c13b7fb))
28
+ * **pb-dialog:** any button with [rel="prev"] should close the dialog ([9c8c7f0](https://github.com/eeditiones/tei-publisher-components/commit/9c8c7f0ac24ffb139fd71dcc5e58922a1488e165))
29
+ * **pb-dialog:** include background svg for close button in default ([98d043d](https://github.com/eeditiones/tei-publisher-components/commit/98d043dae1e0669078cc1adac354b9273b23ed31))
30
+ * **pb-download,pb-edit-xml:** make themable ([85c5834](https://github.com/eeditiones/tei-publisher-components/commit/85c583448ce9778b7cb061f69b259293fffa3b26))
65
31
  * **pb-lang:** default value not displayed ([89426bf](https://github.com/eeditiones/tei-publisher-components/commit/89426bf97620976320b321b55d4b5ec0d39ffc1d))
66
32
  * **pb-lang:** use details/summary structure instead of select ([cdc2dcd](https://github.com/eeditiones/tei-publisher-components/commit/cdc2dcda188e2feef88fec45a6263569d4be9887))
67
- * **pb-leaflet-map:** add availability checks ([b3a0eee](https://github.com/eeditiones/tei-publisher-components/commit/b3a0eeeea582c69c78266aba2b840695eed74b4c))
68
- * **pb-leaflet-map:** add error handling for geocoding and plugin loading failures ([f22f0ca](https://github.com/eeditiones/tei-publisher-components/commit/f22f0ca7e47be7108e06524afe0304d51b6455a6))
69
- * **pb-leaflet-map:** enhance marker handling and improve event subscriptions ([51987e0](https://github.com/eeditiones/tei-publisher-components/commit/51987e0d76742d819297876da049dc887e40bbc3))
70
- * **pb-link-view:** enhance reliability ([38c0f2e](https://github.com/eeditiones/tei-publisher-components/commit/38c0f2e6ce6f535017a480c6ed659cf107bbc9af))
71
- * **pb-link:** prevent content duplication during rendering ([0f8ca01](https://github.com/eeditiones/tei-publisher-components/commit/0f8ca012147c0d4b8a9018988b6e71a08232b854))
72
- * **pb-load:** increase max retries and enhance document loading logic ([ec5a3ce](https://github.com/eeditiones/tei-publisher-components/commit/ec5a3cee3da0e3377e3c3afa0dab6938d4e2d018))
73
33
  * **pb-login:** do not enforce h2 for title, add placeholders ([d888703](https://github.com/eeditiones/tei-publisher-components/commit/d88870319a5c18e02a02b0bbbccf1ea678548916))
74
34
  * **pb-login:** login/logout icons were swapped ([7b43326](https://github.com/eeditiones/tei-publisher-components/commit/7b4332604d44768b0c22f08edeba8ea6c4d6acdf))
75
- * **pb-page:** enhance localeFallbackNs handling and prevent uncontrolled growth of fallback namespaces ([d0ba681](https://github.com/eeditiones/tei-publisher-components/commit/d0ba6815ff1f5dead87b3451d5dfbf6189df6600))
76
- * **pb-page:** standardize endpoint references in demo HTML files ([453283e](https://github.com/eeditiones/tei-publisher-components/commit/453283ea50a731c6528618a64bd51b63193055f1))
77
- * **pb-page:** update endpoint references in demo HTML files ([bf8237b](https://github.com/eeditiones/tei-publisher-components/commit/bf8237b59e0601e6e3838cb76d345c593704f9a1))
78
- * **pb-paginate:** fix width of active page number (closes [#279](https://github.com/eeditiones/tei-publisher-components/issues/279)) ([e85914b](https://github.com/eeditiones/tei-publisher-components/commit/e85914b9249b7b78c5962c562eb0633387bbb4c3))
79
- * **pb-panel, pb-repeat, pb-view, urls:** enhance template handling and improve registry exposure ([517660a](https://github.com/eeditiones/tei-publisher-components/commit/517660afd8b953a7aedad81eeb4ef254fcffe3b0))
80
- * **pb-panel:** streamline dropdown option rendering ([628ebc4](https://github.com/eeditiones/tei-publisher-components/commit/628ebc4f8c7db41067a5f03583ebd80286831476))
81
35
  * **pb-search:** autocomplete not working ([626fdd8](https://github.com/eeditiones/tei-publisher-components/commit/626fdd8c52510ee7c61a9240c8b94a9e6d0cc10c))
82
- * **pb-select-odd:** remove neon-animation dependency and implement CSS-only dropdown animations ([9029210](https://github.com/eeditiones/tei-publisher-components/commit/9029210562dbc3a0ddf38136c7553581c10f45f9))
83
- * **pb-select:** drop polymer and iron-form ([d255974](https://github.com/eeditiones/tei-publisher-components/commit/d25597467002f32f975b5f4bb0a808827dda32e1)), closes [#258](https://github.com/eeditiones/tei-publisher-components/issues/258)
84
- * **pb-tabs:** bind selected as property ([c17e8b8](https://github.com/eeditiones/tei-publisher-components/commit/c17e8b82ce2af82c5de29aaa5137a9f2ac2a9a41))
85
- * **pb-tify:** ensure mount container is created and attached properly ([3c8c102](https://github.com/eeditiones/tei-publisher-components/commit/3c8c102df17d0867fb860cd6f3ef516185bd9796))
86
36
  * **pb-timeline:** remove paper-button; improve styling and tooltip positioning ([c95cb1e](https://github.com/eeditiones/tei-publisher-components/commit/c95cb1e3fe2a39793aebc512cb0487f1139e23be))
87
- * **pb-upload:** improve error handling and update test descriptions ([d959d43](https://github.com/eeditiones/tei-publisher-components/commit/d959d43bf210b548b8296493c3d21c1a70723261))
88
37
  * **pb-view:** add an attribute to set the "fill" parameter on requests. ([e6f3836](https://github.com/eeditiones/tei-publisher-components/commit/e6f3836cbde99133ba861dc71216397997bbb291))
89
- * **pb-view:** ensure theme stylesheets are only added if available ([fde17c7](https://github.com/eeditiones/tei-publisher-components/commit/fde17c75885b4dd209e45bf1ad0276169c97b63c))
90
38
  * **pb-view:** remove unused paper-dialog ([90463df](https://github.com/eeditiones/tei-publisher-components/commit/90463df6f1fe7720d676a5e79dbc9b7586217c82))
91
39
  * **pb-view:** start listening to pb-refresh after component is ready; prevents race condition ([6196e03](https://github.com/eeditiones/tei-publisher-components/commit/6196e03e648fad9d37404f4d7d06a5bbcfe317a3))
92
- * **pb-view:** update image and link URL handling ([84e3897](https://github.com/eeditiones/tei-publisher-components/commit/84e38970efa4a412f4727b395024422fefce6fec))
93
40
  * **pb-zoom:** instead of manipulating font-size directly, pb-zoom now sets a scaling factor on :root using --pb-zoom-factor ([23ce0b5](https://github.com/eeditiones/tei-publisher-components/commit/23ce0b59e57dfb65928b956df03a8b635620d88c))
94
- * **release.yml:** syntax warning ([f7e6b19](https://github.com/eeditiones/tei-publisher-components/commit/f7e6b19a2e0965e1d5d8ed89735fd00ea3e259c0))
95
- * **rollup.config:** add pb-facsimile.js to build output ([1d96a98](https://github.com/eeditiones/tei-publisher-components/commit/1d96a98d1f836752decbf0edb0dc2139501ca946))
96
- * **rollup.config:** refactor Verovio path resolution and clean up asset mappings ([aa05a6c](https://github.com/eeditiones/tei-publisher-components/commit/aa05a6c3662ebfa6d5a8806279da9f3323951eed))
97
- * **rollup:** build warnings ([e63072b](https://github.com/eeditiones/tei-publisher-components/commit/e63072be4d46460ace46d4a2b82074464593a1e6))
98
- * update animejs import and usage across components ([1d4da26](https://github.com/eeditiones/tei-publisher-components/commit/1d4da26a27274b961e6a4adf55a909efa0cc7dab))
99
- * **urls:** replace path.contains with path.includes for correct state management ([f9b1a48](https://github.com/eeditiones/tei-publisher-components/commit/f9b1a484b912ea7d8ac20332065c3f4f1f9dd7c3))
100
- * **vscode:** add spellright configuration for language and document types ([466559c](https://github.com/eeditiones/tei-publisher-components/commit/466559c46f303004eea4e21d786b856358db7397))
101
- * **workflows:** add missing quotes in branch pattern ([96f5a96](https://github.com/eeditiones/tei-publisher-components/commit/96f5a96d342ebe2132a58c9e465fb549488bdb8c))
41
+ * corrects indentation ([32dcccb](https://github.com/eeditiones/tei-publisher-components/commit/32dcccb4deb9d66ac94777fa070e59f969d4ec47))
102
42
 
103
43
 
104
44
  ### Features
105
45
 
106
- * add e2e test ([7bd6efb](https://github.com/eeditiones/tei-publisher-components/commit/7bd6efbcef27e66d2a98fe008ddd44a51d06b778))
107
- * **cypress:** add component listing and smoke tests for pb-* elements ([8cb9791](https://github.com/eeditiones/tei-publisher-components/commit/8cb9791436e6b61aaab71d2c1263b54d6e69ea7f))
108
- * **cypress:** add component testing ([1d1418a](https://github.com/eeditiones/tei-publisher-components/commit/1d1418a2e5ce8dddd7cd04d4f3f444da3f53bb62))
109
46
  * **demo:** add pb-paginate sample with the prev/next page buttons (by [@daliboris](https://github.com/daliboris)) ([4fa4e7a](https://github.com/eeditiones/tei-publisher-components/commit/4fa4e7afad81e8b686a119097090c43079c2eedf))
110
- * **demo:** update HTML files for improved accessibility and consistency ([002466d](https://github.com/eeditiones/tei-publisher-components/commit/002466d3eaee901864ddb6232395384b795db719))
111
- * **deps:** upgrade marked from 1.2.9 to 16.4.0 ([6bcbf9d](https://github.com/eeditiones/tei-publisher-components/commit/6bcbf9d751c2a33102bfae3e1dcce28deb90ee28))
112
- * **design-system:** add native design and icons ([e3aeac7](https://github.com/eeditiones/tei-publisher-components/commit/e3aeac7f61a6e375d1a83ebf0b776136ff5b19c6))
113
- * enhance Cypress configuration and add real backend integration tests ([d88f2a8](https://github.com/eeditiones/tei-publisher-components/commit/d88f2a8783ce7b50880413fc21204c1b0574b21d))
114
- * enhance error handling and add authentication for E2E tests ([f9569eb](https://github.com/eeditiones/tei-publisher-components/commit/f9569eb1fd474e9ae1fccf684279a826a156c7ef))
115
- * enhance test stubs ([4f02c90](https://github.com/eeditiones/tei-publisher-components/commit/4f02c90183c0e791c93b6c79592f0ab48a4822b0))
116
- * **i18next:** upgrade i18next and related packages ([21eee4c](https://github.com/eeditiones/tei-publisher-components/commit/21eee4cdc820e225d393feee67068a8646108986))
117
- * integrate concurrently for improved test execution ([e8becbf](https://github.com/eeditiones/tei-publisher-components/commit/e8becbf2d2813ff589c0c7d74abccb40354d465c))
118
47
  * **pb-authority-lookup:** add work entity ([b052241](https://github.com/eeditiones/tei-publisher-components/commit/b0522411c6ead850eba9a9e21b05da7e45816e16))
48
+ * **pb-authority-lookup:** add work entity ([9107004](https://github.com/eeditiones/tei-publisher-components/commit/910700440aaaba3d91729ae8da820ef10a7f69a8))
119
49
  * **pb-collapse, pb-odd-editor:** remove iron-collapse and use standard ([628f782](https://github.com/eeditiones/tei-publisher-components/commit/628f78278cca122a77ab5f0fadd1bb26a4dc8ed3))
120
- * **pb-custom-form:** enhance form serialization to include slotted content ([2e61503](https://github.com/eeditiones/tei-publisher-components/commit/2e615038085583c46331f28d2893b195b612993a))
121
50
  * **pb-dialog:** add pb-dialog component to replace paper-dialog ([c05b760](https://github.com/eeditiones/tei-publisher-components/commit/c05b760ce6b63fc8d4893c354ad4731a1b619fff))
122
- * **pb-document, pb-i18n, pb-view, pb-drawer, pb-highlight:** enhance event handling, improve test coverage, and remove scaffolded tests ([f543e9b](https://github.com/eeditiones/tei-publisher-components/commit/f543e9b03696092627dce0ac61e8f3ca4b7cc1ae))
123
- * **pb-document:** implement coalescing for rapid attribute updates and enhance event handling ([be619ed](https://github.com/eeditiones/tei-publisher-components/commit/be619edace0207024d4da821c8d1a032acf5e52a))
124
- * **pb-facs-link:** enhance loading behavior and validation logic ([16c7e85](https://github.com/eeditiones/tei-publisher-components/commit/16c7e8580be500c7cd6598cd0807a56529e46a68))
125
- * **pb-facsimile:** implement request deduplication for pb-facs-link elements ([63ae76b](https://github.com/eeditiones/tei-publisher-components/commit/63ae76b8875e6a48bd984516371e350dba18c3e3)), closes [#274](https://github.com/eeditiones/tei-publisher-components/issues/274)
126
51
  * **pb-grid:** drop polymer components ([8014c9c](https://github.com/eeditiones/tei-publisher-components/commit/8014c9cdd1bd79834e4fcd7c2f0d6d5d16349f2c))
127
- * **pb-i18n:** enhance i18n functionality and add tests ([b2bf35c](https://github.com/eeditiones/tei-publisher-components/commit/b2bf35c986f81f2625a3b5e901fc36285e4453b3))
128
52
  * **pb-lang:** switch to standard select ([9a4a01a](https://github.com/eeditiones/tei-publisher-components/commit/9a4a01abcb87dbe0cde5e4a4deeb5ba0a94c0a61))
129
- * **pb-load:** implement document resolution retry mechanism and add regression tests ([1adfac3](https://github.com/eeditiones/tei-publisher-components/commit/1adfac3234af3df01f5766702ae0e25b59cbfff7))
130
53
  * **pb-login:** drop polymer, use pb-dialog ([ffee19f](https://github.com/eeditiones/tei-publisher-components/commit/ffee19fa27f1e8520c8c3e9a877100b981e38ddf))
131
54
  * **pb-managed-odds:** drop paper elements, use plain styling ([0f5c820](https://github.com/eeditiones/tei-publisher-components/commit/0f5c820923529b68bd264bfd1acb8ee95ef16830))
132
55
  * **pb-message:** replace paper-dialog with pb-dialog ([e60c401](https://github.com/eeditiones/tei-publisher-components/commit/e60c401153bd2756c0d081a09e70f2be31ab2526))
133
- * **pb-odd-editor:** enhance request handling and update E2E tests ([14e5d5f](https://github.com/eeditiones/tei-publisher-components/commit/14e5d5f6033ee7e1ade1ba62ea7fe699f56b5f7e))
134
- * **pb-page:** update locale fallback handling and add tests ([1845310](https://github.com/eeditiones/tei-publisher-components/commit/1845310288bf3fe0e3404b824a3677ff044a45b3))
135
56
  * **pb-paginate:** add buttons to navigate the prev/next page (by [@daliboris](https://github.com/daliboris)) ([e8c3fdc](https://github.com/eeditiones/tei-publisher-components/commit/e8c3fdc766234f782c0ab8733835bcf09c612cbd))
136
57
  * **pb-progress:** replace paper-progress with native progres ([5ce49f1](https://github.com/eeditiones/tei-publisher-components/commit/5ce49f19abda1f37f884d977a0cc5204d690f290))
137
58
  * **pb-search:** replace paper with native elements ([03679ea](https://github.com/eeditiones/tei-publisher-components/commit/03679ea0b52c547b7b55f5fb04bd34894c833d90))
138
- * **pb-tify, pb-view, urls:** enhance state management and prevent interference during navigation ([f0aabdc](https://github.com/eeditiones/tei-publisher-components/commit/f0aabdc08a328fdf044a8962e2488b69ec613e27))
139
- * **pb-tify, pb-view:** enhance navigation state management and error handling ([89b89ce](https://github.com/eeditiones/tei-publisher-components/commit/89b89cebd1b24bebf663e58644fa8da1fd908883))
140
- * **pb-tify:** add navigation support and IIIF manifest compatibility ([4d3fbb0](https://github.com/eeditiones/tei-publisher-components/commit/4d3fbb0c0d69bc8e48a696bacc270c97ee870b9b)), closes [#222](https://github.com/eeditiones/tei-publisher-components/issues/222)
141
- * **pb-tify:** enhance error handling and improve manifest loading ([0a298c6](https://github.com/eeditiones/tei-publisher-components/commit/0a298c64cd9885c517b3a37363f69732c380c8cf))
142
- * **pb-tify:** enhance manifest handling and improve component tests ([2d034de](https://github.com/eeditiones/tei-publisher-components/commit/2d034dedc389b3bd0025a991fb37938779329361))
143
- * **pb-tify:** enhance navigation and manifest handling ([90fffc0](https://github.com/eeditiones/tei-publisher-components/commit/90fffc02accfacde9e0a24c7f43608d15f1032ce))
144
- * **pb-tify:** improve canvas handling and event emission ([2dbbe14](https://github.com/eeditiones/tei-publisher-components/commit/2dbbe143e7d86196ddd27e292901e3cfb2039922))
145
59
  * **pb-toggle-feature:** replace paper with native checkbox ([b1da06c](https://github.com/eeditiones/tei-publisher-components/commit/b1da06c70745646effb082e67556f7f6691c46e7))
146
60
  * **pb-zoom:** replace paper button ([cddb36f](https://github.com/eeditiones/tei-publisher-components/commit/cddb36fddd35e4e31b6bbd1a98af1f3c9275a92e))
147
- * **tests:** add smoke tests for pb-*.html demo pages ([dbaf664](https://github.com/eeditiones/tei-publisher-components/commit/dbaf664e031c3f88a4d358a2f1411ab3ec535909))
148
- * update Vaadin dependencies and enhance pb-odd-editor tab management ([a69bc32](https://github.com/eeditiones/tei-publisher-components/commit/a69bc32027f057414f36f7d870097d69a97fed3c)), closes [#262](https://github.com/eeditiones/tei-publisher-components/issues/262)
149
- * **verovio:** upgrade verovio and enhance pb-mei tests ([80a269b](https://github.com/eeditiones/tei-publisher-components/commit/80a269b01e16939c174ec1fee4581eedcefde827))
150
61
 
151
62
 
152
63
  ### BREAKING CHANGES
153
64
 
154
- * **deps:** Updated marked API usage for v16 compatibility
155
-
156
- - Update import statements from lib paths to named exports
157
- - Replace marked.setOptions() with marked.use() for renderer config
158
- - Fix custom renderer to handle object-based code parameter (code.lang, code.text)
159
- - Update parsing calls from marked() to marked.parse()
160
- - Add comprehensive test coverage for custom renderer and error handling
161
-
162
- Components affected:
163
- - pb-markdown: Custom renderer for code blocks with pb-code-highlight
164
- - pb-component-view: Documentation rendering with custom code renderer
65
+ * Major version release 3.0.0
165
66
 
166
67
  # [2.26.0-next-3.21](https://github.com/eeditiones/tei-publisher-components/compare/v2.26.0-next-3.20...v2.26.0-next-3.21) (2025-12-22)
167
68
 
package/README.md CHANGED
@@ -2,8 +2,7 @@
2
2
  <img title="npm (scoped)" src="https://img.shields.io/npm/v/@teipublisher/pb-components">
3
3
  <img title="npm" src="https://img.shields.io/npm/dw/@teipublisher/pb-components">
4
4
  </a>
5
-
6
- [![Build and Test](https://github.com/eeditiones/tei-publisher-components/actions/workflows/node.js.yml/badge.svg)](https://github.com/eeditiones/tei-publisher-components/actions/workflows/node.js.yml)
5
+ <img title="build" src="https://github.com/eeditiones/tei-publisher-components/workflows/tei-publisher-components%20CI/badge.svg">
7
6
 
8
7
  # Web Components for TEI Publisher
9
8
 
@@ -27,6 +26,7 @@ All components talk to an endpoint, which will either be a TEI Publisher instanc
27
26
  To include components into your own application, you can load them from a CDN:
28
27
 
29
28
  ```html
29
+ <script src="https://cdn.jsdelivr.net/npm/@webcomponents/webcomponentsjs/webcomponents-loader.js"></script>
30
30
  <script type="module" src="https://cdn.jsdelivr.net/npm/@teipublisher/pb-components/dist/pb-components-bundle.js"></script>
31
31
  ```
32
32
 
@@ -62,129 +62,20 @@ Run `npm run build:production` to generate the set of bundle files in `dist`, co
62
62
 
63
63
  ## Development
64
64
 
65
- For development, run `npm start` as described above. It starts a Vite development server (port 5173 by default), opens a browser window, and watches for file changes. Every component should have a demo to show its functionality.
66
-
67
- When running locally with Vite, the demos can work in three ways:
68
-
69
- 1. **Standalone (no backend):** the demos run fully in the browser using mocked responses.
70
- 2. **Via Vite proxy:** the demos use relative or root-relative URLs (e.g. `/exist/...`) and Vite forwards those to your local eXist-db on `http://localhost:8080`.
71
- 3. **Direct to eXist-db:** the demos point to `http://localhost:8080/exist/...` without Vite.
72
-
73
- ### Demo best practices
74
-
75
- When adding or editing demo files, please:
76
-
77
- - Use **root-relative endpoints** (e.g. `/exist/...`) instead of hard-coding `http://localhost:8080/...`.
78
- - With the Vite proxy configured, `/exist/...` will be transparently forwarded to your local eXist-db.
79
- - Demo pages should be tested via `e2e` tests in cypress.
80
- - Standalone demos are preferable.
81
-
82
- By following these guidelines, all demo pages remain portable: they can run standalone in Vite (offline) or against a live TEI Publisher backend without code changes.
83
-
84
- ### App configuration
65
+ For development, run `npm start` as described above. It will start a development server (on port 8000 by default), open a browser window and watch for file changes. Every component should have a demo to show its functionality.
85
66
 
86
67
  You can configure TEI Publisher (or an app generated from it) to load components from the development server. This allows you to directly test changes you made to components within the full TEI Publisher environment.
87
68
 
88
- In TEI Publisher, open `modules/config.xqm` and change variable `$config:webcomponents` to the value *dev*. Below, set `$config:webcomponents-cdn` to `http://localhost:5173`:
69
+ In TEI Publisher, open `modules/config.xqm` and change variable `$config:webcomponents` to the value *dev*. Below, the variable `$config:webcomponents-cdn` should be set to `http://localhost:8000`:
89
70
 
90
71
  ```xquery
91
72
  declare variable $config:webcomponents := "dev";
92
73
 
93
- declare variable $config:webcomponents-cdn := "http://localhost:5173";
74
+ declare variable $config:webcomponents-cdn := "http://localhost:8000";
94
75
  ```
95
76
 
96
77
  After reloading TEI Publisher in the browser, components should be loaded from your local development server.
97
78
 
98
- ## Testing
99
-
100
- This project uses Cypress for both component testing and end-to-end testing.
101
-
102
- ### Running Tests
103
-
104
- **Component Tests (Fast):**
105
- ```bash
106
- npm run cy:run:ct
107
- ```
108
-
109
- **End-to-End Tests (Full):**
110
- ```bash
111
- npm run cy:run:e2e
112
- ```
113
-
114
- **Interactive Mode:**
115
- ```bash
116
- npm run cy:open
117
- ```
118
-
119
- **Running Individual Specs:**
120
-
121
- For **Component Tests** (single spec):
122
- ```bash
123
- npx cypress run --component --spec "test/cypress/component/pb-button.cy.js"
124
- ```
125
-
126
- For **E2E Tests** (single spec with dev server):
127
- ```bash
128
- npx concurrently --kill-others --success first 'vite --no-open' 'npx cypress run --e2e --spec "test/cypress/e2e/pb-button.e2e.cy.js"'
129
- ```
130
-
131
- For **E2E Tests** (multiple specs with dev server):
132
- ```bash
133
- npx concurrently --kill-others --success first 'vite --no-open' 'npx cypress run --e2e --spec "test/cypress/e2e/pb-button.e2e.cy.js,test/cypress/e2e/pb-dialog.e2e.cy.js"'
134
- ```
135
-
136
- **Note:** E2E tests require the Vite dev server to be running. The `concurrently` command automatically starts and stops the dev server as needed.
137
-
138
- ### Test Architecture
139
-
140
- - **Component Tests**: Test individual components in isolation using Cypress Component Testing
141
- - **E2E Tests**: Test complete demo pages and component interactions using Cypress E2E Testing
142
- - **Process Management**: Uses `concurrently` to automatically manage Vite dev server lifecycle during E2E tests
143
-
144
- ### Test Development Guidelines
145
-
146
- When writing tests, follow these patterns:
147
-
148
- **Component Tests:**
149
- - Focus on component-specific functionality
150
- - Test props, events, and basic rendering
151
- - Avoid complex component interactions (use E2E tests instead)
152
-
153
- **E2E Tests:**
154
- - Test complete user workflows
155
- - Use appropriate page load strategies (see Development section)
156
- - Test component interactions and integration
157
-
158
- **Demo Page Load Strategies:**
159
-
160
- 1. **Pages with `firePageReady()` calls:**
161
- ```javascript
162
- beforeEach(() => {
163
- cy.visit('/demo/pb-tabs.html')
164
- cy.window().then(win => {
165
- return new Cypress.Promise(resolve => {
166
- win.addEventListener('pb-page-ready', resolve, { once: true })
167
- })
168
- })
169
- })
170
- ```
171
-
172
- 2. **Pages with `<pb-page>` but no `firePageReady()`:**
173
- ```javascript
174
- beforeEach(() => {
175
- cy.visit('/demo/pb-dialog.html')
176
- cy.get('pb-page', { timeout: 5000 }).should('exist')
177
- })
178
- ```
179
-
180
- 3. **Simple pages:**
181
- ```javascript
182
- beforeEach(() => {
183
- cy.visit('/demo/pb-progress.html')
184
- cy.get('body', { timeout: 3000 }).should('be.visible')
185
- })
186
- ```
187
-
188
79
  ## Building Documentation
189
80
 
190
81
  To regenerate the API documentation, run `npm run docs`.
@@ -1 +1 @@
1
- .gridjs-footer button,.gridjs-head button{background-color:transparent;background-image:none;border:none;cursor:pointer;margin:0;outline:none;padding:0}.gridjs-temp{position:relative}.gridjs-head{margin-bottom:5px;padding:5px 1px;width:100%}.gridjs-head:after{clear:both;content:"";display:block}.gridjs-head:empty{border:none;padding:0}.gridjs-container{color:#000;display:inline-block;overflow:hidden;padding:2px;position:relative;z-index:0}.gridjs-footer{background-color:#fff;border-bottom-width:1px;border-color:#e5e7eb;border-radius:0 0 8px 8px;border-top:1px solid #e5e7eb;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.26);display:block;padding:12px 24px;position:relative;width:100%;z-index:5}.gridjs-footer:empty{border:none;padding:0}input.gridjs-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:1px solid #d2d6dc;border-radius:5px;font-size:14px;line-height:1.45;outline:none;padding:10px 13px}input.gridjs-input:focus{border-color:#9bc2f7;box-shadow:0 0 0 3px rgba(149,189,243,.5)}.gridjs-pagination{color:#3d4044}.gridjs-pagination:after{clear:both;content:"";display:block}.gridjs-pagination .gridjs-summary{float:left;margin-top:5px}.gridjs-pagination .gridjs-pages{float:right}.gridjs-pagination .gridjs-pages button{background-color:#fff;border:1px solid #d2d6dc;border-right:none;outline:none;padding:5px 14px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.gridjs-pagination .gridjs-pages button:focus{border-right:1px solid #d2d6dc;box-shadow:0 0 0 2px rgba(149,189,243,.5);margin-right:-1px;position:relative}.gridjs-pagination .gridjs-pages button:hover{background-color:#f7f7f7;color:#3c4257;outline:none}.gridjs-pagination .gridjs-pages button:disabled,.gridjs-pagination .gridjs-pages button:hover:disabled,.gridjs-pagination .gridjs-pages button[disabled]{background-color:#fff;color:#6b7280;cursor:default}.gridjs-pagination .gridjs-pages button.gridjs-spread{background-color:#fff;box-shadow:none;cursor:default}.gridjs-pagination .gridjs-pages button.gridjs-currentPage{background-color:#f7f7f7;font-weight:700}.gridjs-pagination .gridjs-pages button:last-child{border-bottom-right-radius:6px;border-right:1px solid #d2d6dc;border-top-right-radius:6px}.gridjs-pagination .gridjs-pages button:first-child{border-bottom-left-radius:6px;border-top-left-radius:6px}.gridjs-pagination .gridjs-pages button:last-child:focus{margin-right:0}button.gridjs-sort{background-color:transparent;background-position-x:center;background-repeat:no-repeat;background-size:contain;border:none;cursor:pointer;float:right;height:24px;margin:0;outline:none;padding:0;width:13px}button.gridjs-sort-neutral{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MDEuOTk4IiBoZWlnaHQ9IjQwMS45OTgiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQwMS45OTggNDAxLjk5OCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBhdGggZD0iTTczLjA5MiAxNjQuNDUyaDI1NS44MTNjNC45NDkgMCA5LjIzMy0xLjgwNyAxMi44NDgtNS40MjQgMy42MTMtMy42MTYgNS40MjctNy44OTggNS40MjctMTIuODQ3cy0xLjgxMy05LjIyOS01LjQyNy0xMi44NUwyMTMuODQ2IDUuNDI0QzIxMC4yMzIgMS44MTIgMjA1Ljk1MSAwIDIwMC45OTkgMHMtOS4yMzMgMS44MTItMTIuODUgNS40MjRMNjAuMjQyIDEzMy4zMzFjLTMuNjE3IDMuNjE3LTUuNDI0IDcuOTAxLTUuNDI0IDEyLjg1IDAgNC45NDggMS44MDcgOS4yMzEgNS40MjQgMTIuODQ3IDMuNjIxIDMuNjE3IDcuOTAyIDUuNDI0IDEyLjg1IDUuNDI0ek0zMjguOTA1IDIzNy41NDlINzMuMDkyYy00Ljk1MiAwLTkuMjMzIDEuODA4LTEyLjg1IDUuNDIxLTMuNjE3IDMuNjE3LTUuNDI0IDcuODk4LTUuNDI0IDEyLjg0N3MxLjgwNyA5LjIzMyA1LjQyNCAxMi44NDhMMTg4LjE0OSAzOTYuNTdjMy42MjEgMy42MTcgNy45MDIgNS40MjggMTIuODUgNS40MjhzOS4yMzMtMS44MTEgMTIuODQ3LTUuNDI4bDEyNy45MDctMTI3LjkwNmMzLjYxMy0zLjYxNCA1LjQyNy03Ljg5OCA1LjQyNy0xMi44NDggMC00Ljk0OC0xLjgxMy05LjIyOS01LjQyNy0xMi44NDctMy42MTQtMy42MTYtNy44OTktNS40Mi0xMi44NDgtNS40MnoiLz48L3N2Zz4=");background-position-y:center;opacity:.3}button.gridjs-sort-asc{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOTIuMzYyIiBoZWlnaHQ9IjI5Mi4zNjEiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDI5Mi4zNjIgMjkyLjM2MSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBhdGggZD0iTTI4Ni45MzUgMTk3LjI4NyAxNTkuMDI4IDY5LjM4MWMtMy42MTMtMy42MTctNy44OTUtNS40MjQtMTIuODQ3LTUuNDI0cy05LjIzMyAxLjgwNy0xMi44NSA1LjQyNEw1LjQyNCAxOTcuMjg3QzEuODA3IDIwMC45MDQgMCAyMDUuMTg2IDAgMjEwLjEzNHMxLjgwNyA5LjIzMyA1LjQyNCAxMi44NDdjMy42MjEgMy42MTcgNy45MDIgNS40MjUgMTIuODUgNS40MjVoMjU1LjgxM2M0Ljk0OSAwIDkuMjMzLTEuODA4IDEyLjg0OC01LjQyNSAzLjYxMy0zLjYxMyA1LjQyNy03Ljg5OCA1LjQyNy0xMi44NDdzLTEuODE0LTkuMjMtNS40MjctMTIuODQ3eiIvPjwvc3ZnPg==");background-position-y:35%;background-size:10px}button.gridjs-sort-desc{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOTIuMzYyIiBoZWlnaHQ9IjI5Mi4zNjIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDI5Mi4zNjIgMjkyLjM2MiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBhdGggZD0iTTI4Ni45MzUgNjkuMzc3Yy0zLjYxNC0zLjYxNy03Ljg5OC01LjQyNC0xMi44NDgtNS40MjRIMTguMjc0Yy00Ljk1MiAwLTkuMjMzIDEuODA3LTEyLjg1IDUuNDI0QzEuODA3IDcyLjk5OCAwIDc3LjI3OSAwIDgyLjIyOGMwIDQuOTQ4IDEuODA3IDkuMjI5IDUuNDI0IDEyLjg0N2wxMjcuOTA3IDEyNy45MDdjMy42MjEgMy42MTcgNy45MDIgNS40MjggMTIuODUgNS40MjhzOS4yMzMtMS44MTEgMTIuODQ3LTUuNDI4TDI4Ni45MzUgOTUuMDc0YzMuNjEzLTMuNjE3IDUuNDI3LTcuODk4IDUuNDI3LTEyLjg0NyAwLTQuOTQ4LTEuODE0LTkuMjI5LTUuNDI3LTEyLjg1eiIvPjwvc3ZnPg==");background-position-y:65%;background-size:10px}button.gridjs-sort:focus{outline:none}table.gridjs-table{border-collapse:collapse;display:table;margin:0;max-width:100%;overflow:auto;padding:0;table-layout:fixed;text-align:left;width:100%}.gridjs-tbody,td.gridjs-td{background-color:#fff}td.gridjs-td{border:1px solid #e5e7eb;box-sizing:content-box;padding:12px 24px}td.gridjs-td:first-child{border-left:none}td.gridjs-td:last-child{border-right:none}td.gridjs-message{text-align:center}th.gridjs-th{background-color:#f9fafb;border:1px solid #e5e7eb;border-top:none;box-sizing:border-box;color:#6b7280;outline:none;padding:14px 24px;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}th.gridjs-th .gridjs-th-content{float:left;overflow:hidden;text-overflow:ellipsis;width:100%}th.gridjs-th-sort{cursor:pointer}th.gridjs-th-sort .gridjs-th-content{width:calc(100% - 15px)}th.gridjs-th-sort:focus,th.gridjs-th-sort:hover{background-color:#e5e7eb}th.gridjs-th-fixed{box-shadow:0 1px 0 0 #e5e7eb;position:sticky}@supports (-moz-appearance:none){th.gridjs-th-fixed{box-shadow:0 0 0 1px #e5e7eb}}th.gridjs-th:first-child{border-left:none}th.gridjs-th:last-child{border-right:none}.gridjs-tr{border:none}.gridjs-tr-selected td{background-color:#ebf5ff}.gridjs-tr:last-child td{border-bottom:0}.gridjs *,.gridjs :after,.gridjs :before{box-sizing:border-box}.gridjs-wrapper{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;border-color:#e5e7eb;border-radius:8px 8px 0 0;border-top-width:1px;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.26);display:block;overflow:auto;position:relative;width:100%;z-index:1}.gridjs-wrapper:nth-last-of-type(2){border-bottom-width:1px;border-radius:8px}.gridjs-search{float:left}.gridjs-search-input{width:250px}.gridjs-loading-bar{background-color:#fff;opacity:.5;z-index:10}.gridjs-loading-bar,.gridjs-loading-bar:after{bottom:0;left:0;position:absolute;right:0;top:0}.gridjs-loading-bar:after{animation:shimmer 2s infinite;background-image:linear-gradient(90deg,hsla(0,0%,80%,0),hsla(0,0%,80%,.2) 20%,hsla(0,0%,80%,.5) 60%,hsla(0,0%,80%,0));content:"";transform:translateX(-100%)}@keyframes shimmer{to{transform:translateX(100%)}}.gridjs-td .gridjs-checkbox{cursor:pointer;display:block;margin:auto}.gridjs-resizable{bottom:0;position:absolute;right:0;top:0;width:5px}.gridjs-resizable:hover{background-color:#9bc2f7;cursor:ew-resize}
1
+ .gridjs-footer button,.gridjs-head button{background-color:transparent;background-image:none;border:none;cursor:pointer;margin:0;outline:none;padding:0}.gridjs-temp{position:relative}.gridjs-head{margin-bottom:5px;padding:5px 1px;width:100%}.gridjs-head:after{clear:both;content:"";display:block}.gridjs-head:empty{border:none;padding:0}.gridjs-container{color:#000;display:inline-block;overflow:hidden;padding:2px;position:relative;z-index:0}.gridjs-footer{background-color:#fff;border-bottom-width:1px;border-color:#e5e7eb;border-radius:0 0 8px 8px;border-top:1px solid #e5e7eb;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.26);display:block;padding:12px 24px;position:relative;width:100%;z-index:5}.gridjs-footer:empty{border:none;padding:0}input.gridjs-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:1px solid #d2d6dc;border-radius:5px;font-size:14px;line-height:1.45;outline:none;padding:10px 13px}input.gridjs-input:focus{border-color:#9bc2f7;box-shadow:0 0 0 3px rgba(149,189,243,.5)}.gridjs-pagination{color:#3d4044}.gridjs-pagination:after{clear:both;content:"";display:block}.gridjs-pagination .gridjs-summary{float:left;margin-top:5px}.gridjs-pagination .gridjs-pages{float:right}.gridjs-pagination .gridjs-pages button{background-color:#fff;border:1px solid #d2d6dc;border-right:none;outline:none;padding:5px 14px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.gridjs-pagination .gridjs-pages button:focus{border-right:1px solid #d2d6dc;box-shadow:0 0 0 2px rgba(149,189,243,.5);margin-right:-1px;position:relative}.gridjs-pagination .gridjs-pages button:hover{background-color:#f7f7f7;color:#3c4257;outline:none}.gridjs-pagination .gridjs-pages button:disabled,.gridjs-pagination .gridjs-pages button:hover:disabled,.gridjs-pagination .gridjs-pages button[disabled]{background-color:#fff;color:#6b7280;cursor:default}.gridjs-pagination .gridjs-pages button.gridjs-spread{background-color:#fff;box-shadow:none;cursor:default}.gridjs-pagination .gridjs-pages button.gridjs-currentPage{background-color:#f7f7f7;font-weight:700}.gridjs-pagination .gridjs-pages button:last-child{border-bottom-right-radius:6px;border-right:1px solid #d2d6dc;border-top-right-radius:6px}.gridjs-pagination .gridjs-pages button:first-child{border-bottom-left-radius:6px;border-top-left-radius:6px}.gridjs-pagination .gridjs-pages button:last-child:focus{margin-right:0}button.gridjs-sort{background-color:transparent;background-position-x:center;background-repeat:no-repeat;background-size:contain;border:none;cursor:pointer;float:right;height:24px;margin:0;outline:none;padding:0;width:13px}button.gridjs-sort-neutral{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MDEuOTk4IiBoZWlnaHQ9IjQwMS45OTgiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQwMS45OTggNDAxLjk5OCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBhdGggZD0iTTczLjA5MiAxNjQuNDUyaDI1NS44MTNjNC45NDkgMCA5LjIzMy0xLjgwNyAxMi44NDgtNS40MjQgMy42MTMtMy42MTYgNS40MjctNy44OTggNS40MjctMTIuODQ3cy0xLjgxMy05LjIyOS01LjQyNy0xMi44NUwyMTMuODQ2IDUuNDI0QzIxMC4yMzIgMS44MTIgMjA1Ljk1MSAwIDIwMC45OTkgMHMtOS4yMzMgMS44MTItMTIuODUgNS40MjRMNjAuMjQyIDEzMy4zMzFjLTMuNjE3IDMuNjE3LTUuNDI0IDcuOTAxLTUuNDI0IDEyLjg1IDAgNC45NDggMS44MDcgOS4yMzEgNS40MjQgMTIuODQ3IDMuNjIxIDMuNjE3IDcuOTAyIDUuNDI0IDEyLjg1IDUuNDI0ek0zMjguOTA1IDIzNy41NDlINzMuMDkyYy00Ljk1MiAwLTkuMjMzIDEuODA4LTEyLjg1IDUuNDIxLTMuNjE3IDMuNjE3LTUuNDI0IDcuODk4LTUuNDI0IDEyLjg0N3MxLjgwNyA5LjIzMyA1LjQyNCAxMi44NDhMMTg4LjE0OSAzOTYuNTdjMy42MjEgMy42MTcgNy45MDIgNS40MjggMTIuODUgNS40MjhzOS4yMzMtMS44MTEgMTIuODQ3LTUuNDI4bDEyNy45MDctMTI3LjkwNmMzLjYxMy0zLjYxNCA1LjQyNy03Ljg5OCA1LjQyNy0xMi44NDggMC00Ljk0OC0xLjgxMy05LjIyOS01LjQyNy0xMi44NDctMy42MTQtMy42MTYtNy44OTktNS40Mi0xMi44NDgtNS40MnoiLz48L3N2Zz4=");background-position-y:center;opacity:.3}button.gridjs-sort-asc{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOTIuMzYyIiBoZWlnaHQ9IjI5Mi4zNjEiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDI5Mi4zNjIgMjkyLjM2MSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBhdGggZD0iTTI4Ni45MzUgMTk3LjI4NyAxNTkuMDI4IDY5LjM4MWMtMy42MTMtMy42MTctNy44OTUtNS40MjQtMTIuODQ3LTUuNDI0cy05LjIzMyAxLjgwNy0xMi44NSA1LjQyNEw1LjQyNCAxOTcuMjg3QzEuODA3IDIwMC45MDQgMCAyMDUuMTg2IDAgMjEwLjEzNHMxLjgwNyA5LjIzMyA1LjQyNCAxMi44NDdjMy42MjEgMy42MTcgNy45MDIgNS40MjUgMTIuODUgNS40MjVoMjU1LjgxM2M0Ljk0OSAwIDkuMjMzLTEuODA4IDEyLjg0OC01LjQyNSAzLjYxMy0zLjYxMyA1LjQyNy03Ljg5OCA1LjQyNy0xMi44NDdzLTEuODE0LTkuMjMtNS40MjctMTIuODQ3eiIvPjwvc3ZnPg==");background-position-y:35%;background-size:10px}button.gridjs-sort-desc{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOTIuMzYyIiBoZWlnaHQ9IjI5Mi4zNjIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDI5Mi4zNjIgMjkyLjM2MiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBhdGggZD0iTTI4Ni45MzUgNjkuMzc3Yy0zLjYxNC0zLjYxNy03Ljg5OC01LjQyNC0xMi44NDgtNS40MjRIMTguMjc0Yy00Ljk1MiAwLTkuMjMzIDEuODA3LTEyLjg1IDUuNDI0QzEuODA3IDcyLjk5OCAwIDc3LjI3OSAwIDgyLjIyOGMwIDQuOTQ4IDEuODA3IDkuMjI5IDUuNDI0IDEyLjg0N2wxMjcuOTA3IDEyNy45MDdjMy42MjEgMy42MTcgNy45MDIgNS40MjggMTIuODUgNS40MjhzOS4yMzMtMS44MTEgMTIuODQ3LTUuNDI4TDI4Ni45MzUgOTUuMDc0YzMuNjEzLTMuNjE3IDUuNDI3LTcuODk4IDUuNDI3LTEyLjg0NyAwLTQuOTQ4LTEuODE0LTkuMjI5LTUuNDI3LTEyLjg1eiIvPjwvc3ZnPg==");background-position-y:65%;background-size:10px}button.gridjs-sort:focus{outline:none}table.gridjs-table{border-collapse:collapse;display:table;margin:0;max-width:100%;overflow:auto;padding:0;table-layout:fixed;text-align:left}.gridjs-tbody,td.gridjs-td{background-color:#fff}td.gridjs-td{border:1px solid #e5e7eb;box-sizing:content-box;padding:12px 24px}td.gridjs-td:first-child{border-left:none}td.gridjs-td:last-child{border-right:none}td.gridjs-message{text-align:center}th.gridjs-th{background-color:#f9fafb;border:1px solid #e5e7eb;border-top:none;box-sizing:border-box;color:#6b7280;outline:none;padding:14px 24px;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}th.gridjs-th .gridjs-th-content{float:left;overflow:hidden;text-overflow:ellipsis;width:100%}th.gridjs-th-sort{cursor:pointer}th.gridjs-th-sort .gridjs-th-content{width:calc(100% - 15px)}th.gridjs-th-sort:focus,th.gridjs-th-sort:hover{background-color:#e5e7eb}th.gridjs-th-fixed{box-shadow:0 1px 0 0 #e5e7eb;position:-webkit-sticky;position:sticky}@supports (-moz-appearance:none){th.gridjs-th-fixed{box-shadow:0 0 0 1px #e5e7eb}}th.gridjs-th:first-child{border-left:none}th.gridjs-th:last-child{border-right:none}.gridjs-tr{border:none}.gridjs-tr-selected td{background-color:#ebf5ff}.gridjs-tr:last-child td{border-bottom:0}.gridjs *,.gridjs :after,.gridjs :before{box-sizing:border-box}.gridjs-wrapper{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;border-color:#e5e7eb;border-radius:8px 8px 0 0;border-top-width:1px;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.26);display:block;overflow:auto;position:relative;width:100%;z-index:1}.gridjs-wrapper:nth-last-of-type(2){border-bottom-width:1px;border-radius:8px}.gridjs-search{float:left}.gridjs-search-input{width:250px}.gridjs-loading-bar{background-color:#fff;opacity:.5;z-index:10}.gridjs-loading-bar,.gridjs-loading-bar:after{bottom:0;left:0;position:absolute;right:0;top:0}.gridjs-loading-bar:after{-webkit-animation:shimmer 2s infinite;animation:shimmer 2s infinite;background-image:linear-gradient(90deg,hsla(0,0%,80%,0),hsla(0,0%,80%,.2) 20%,hsla(0,0%,80%,.5) 60%,hsla(0,0%,80%,0));content:"";transform:translateX(-100%)}@-webkit-keyframes shimmer{to{transform:translateX(100%)}}@keyframes shimmer{to{transform:translateX(100%)}}.gridjs-td .gridjs-checkbox{cursor:pointer;display:block;margin:auto}.gridjs-resizable{bottom:0;position:absolute;right:0;top:0;width:5px}.gridjs-resizable:hover{background-color:#9bc2f7;cursor:ew-resize}