vue3-sphinx-xml 0.1.0-beta.0 → 0.1.0

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/README.md CHANGED
@@ -1,32 +1,35 @@
1
- ![logo](https://github.com/hsorby/vue-sphinx-xml/raw/main/docs/assets/vue-sphinx-xml-logo.svg)
1
+ ![logo](https://github.com/hsorby/vue3-sphinx-xml/raw/main/docs/assets/vue-sphinx-xml-logo.svg)
2
2
 
3
- # vue-sphinx-xml
3
+ # vue3-sphinx-xml
4
4
 
5
- [![npm](https://img.shields.io/npm/v/vue-sphinx-xml.svg) ![npm](https://img.shields.io/npm/dm/vue-sphinx-xml.svg)](https://www.npmjs.com/package/vue-sphinx-xml)
6
- [![vue2](https://img.shields.io/badge/vue-2.x-brightgreen.svg)](https://vuejs.org/)
5
+ [![npm](https://img.shields.io/npm/v/vue3-sphinx-xml.svg) ![npm](https://img.shields.io/npm/dm/vue3-sphinx-xml.svg)](https://www.npmjs.com/package/vue3-sphinx-xml)
6
+ [![vue3](https://img.shields.io/badge/vue-3.x-brightgreen.svg)](https://vuejs.org/)
7
7
 
8
- Vue component for displaying Sphinx documentation XML content.
8
+ Vue component for displaying documentation from XML that has been generaterd by [Sphinx](https://www.sphinx-doc.org/).
9
9
 
10
10
  ## Project setup
11
11
 
12
12
  ```
13
- npm install --save vue-sphinx-xml
13
+ npm install --save vue3-sphinx-xml
14
14
  ```
15
15
 
16
16
  ### Module import
17
17
 
18
- vue-sphinx-xml makes use of the vuex store to track data. You must use a vuex store for the component to work.
18
+ vue3-sphinx-xml makes use of the vuex store to track data. You must use a vuex store for the component to work.
19
19
  **⚠️ You need to install the module with the application like so:**
20
20
 
21
21
  ```javascript
22
- import SphinxXml from 'vue-sphinx-xml'
22
+ import store from './store'
23
23
 
24
- Vue.use(SphinxXml, { store })
24
+ import { installVue3SphinxXml } from 'vue3-sphinx-xml'
25
+ import 'vue3-sphinx-xml/dist/style.css'
26
+
27
+ createApp(App).use(store).use(installVue3SphinxXml, { store }).mount('#app')
25
28
  ```
26
29
 
27
- Add the above to your `main.js` application file before the line creating a `new Vue({ ... })` instance (this assumes that a standard layout is followed when creating your application).
30
+ Add the above to your `main.js` application file before the line creating a `createApp(App)` instance (this assumes that a standard layout is followed when creating your application).
28
31
 
29
- vue-sphinx-xml can make use of vue-highlightjs as an optional package.
32
+ vue3-sphinx-xml can make use of vue-highlightjs as an optional package.
30
33
  vue-highlightjs adds code highlighting to any code blocks in the documentation. To make use of vue-highlightjs install the package:
31
34
 
32
35
  ```
@@ -36,13 +39,20 @@ npm install --save vue-highlightjs
36
39
  and edit your `main.js` application file to have the following:
37
40
 
38
41
  ```javascript
39
- import SphinxXml from 'vue-sphinx-xml'
42
+ import store from './store'
43
+
44
+ import { installVue3SphinxXml } from 'vue3-sphinx-xml'
45
+ import 'vue3-sphinx-xml/dist/style.css'
46
+
40
47
  import VueHighlightJS from 'vue-highlightjs'
41
48
 
42
49
  import 'highlight.js/styles/xcode.css'
43
50
 
44
- Vue.use(SphinxXml, { store })
45
- Vue.use(VueHighlightJS)
51
+ createApp(App)
52
+ .use(store)
53
+ .use(installVue3SphinxXml, { store })
54
+ .use(VueHighlightJS)
55
+ .mount('#app')
46
56
  ```
47
57
 
48
58
  The line `import 'highlight.js/styles/xcode.css'` is one of many styles available from highlightjs that may be imported.
@@ -50,26 +60,21 @@ See [highlightjs styles](https://highlightjs.org/static/demo/) for a comprehensi
50
60
 
51
61
  ### Module component
52
62
 
53
- To use the vue-sphinx-xml component import it in a view and set the `baseURL` for the source XML.
63
+ To use the vue3-sphinx-xml component import it in a view and set the `baseURL` for the source XML.
54
64
  Example view `Documentation.vue`:
55
65
 
56
66
  ```javascript
57
67
  <template>
58
68
  <div class="documentation">
59
- <sphinx-page baseURL="/sphinx-xml-files" />
69
+ <sphinx-page :baseURL="/sphinx-xml-files"
70
+ />
60
71
  </div>
61
72
  </template>
62
73
 
63
- <script>
64
- import { SphinxPage } from 'vue-sphinx-xml'
65
-
66
- export default {
67
- name: 'Documentation',
68
- components: {
69
- SphinxPage,
70
- },
71
- }
74
+ <script setup>
75
+ import { SphinxPage } from 'vue3-sphinx-xml'
72
76
  </script>
77
+
73
78
  ```
74
79
 
75
80
  #### SphinxPage API
@@ -86,16 +91,13 @@ export default {
86
91
 
87
92
  ### Module routing
88
93
 
89
- vue-sphinx-xml requires that you use vue-router. To add a vue-sphinx-xml route under `documentation` add the following to `routes` object for vue-router:
94
+ vue3-sphinx-xml requires that you use vue-router. To add a vue3-sphinx-xml route under `documentation` add the following to `routes` object for vue-router:
90
95
 
91
96
  ```javascript
92
97
  {
93
98
  path: '/documentation/:pageName*',
94
99
  name: 'Documentation',
95
- // route level code-splitting
96
- // this generates a separate chunk (documentation.[hash].js) for this route
97
- // which is lazy-loaded when the route is visited.
98
- component: () => import(/* webpackChunkName: "documentation" */ '../views/Documentation.vue')
100
+ component: () => import('../views/Documentation.vue')
99
101
  }
100
102
  ```
101
103
 
@@ -103,7 +105,7 @@ Again assuming standard layout.
103
105
 
104
106
  ### Module math
105
107
 
106
- To render any math in the page vue-sphinx-xml uses Katex.
108
+ To render any math in the page vue3-sphinx-xml uses Katex.
107
109
  Katex is not automatically loaded because it is a large package.
108
110
  To render math with Katex you need to install the following packages:
109
111
 
@@ -125,8 +127,8 @@ Vue.use(VueKatex)
125
127
 
126
128
  ## Examples
127
129
 
128
- For a complete example of a Vue application using vue-sphinx-xml look at https://github.com/hsorby/example-vue-sphinx-xml.
129
- The **main** branch has a basic example of how vue-sphinx-xml may be used and the **multi_version** branch has an example of how vue-sphinx-xml may be used for different versions of Sphinx XML output.
130
+ For a complete example of a Vue application using vue3-sphinx-xml look at https://github.com/hsorby/example-vue3-sphinx-xml.
131
+ The **main** branch has a basic example of how vue3-sphinx-xml may be used and the **multi_version** branch has an example of how vue3-sphinx-xml may be used for different versions of Sphinx XML output.
130
132
 
131
133
  ---
132
134
 
package/dist/Reference.js CHANGED
@@ -1,8 +1,8 @@
1
- import { ref, toRefs, onMounted, resolveComponent, unref, openBlock, createBlock, withCtx, createTextVNode, toDisplayString, createElementBlock } from "vue";
1
+ import { ref, toRefs, onMounted, resolveComponent, unref, openBlock, createBlock, withCtx, createTextVNode, toDisplayString, createElementBlock, Fragment, renderList, resolveDynamicComponent } from "vue";
2
2
  import { useRoute } from "vue-router";
3
+ import { u as useChildren } from "./entry.js";
3
4
  import { u as useMethods } from "./methods.js";
4
5
  import { u as useBaseReference } from "./basereference.js";
5
- import "./entry.js";
6
6
  import "@hsorby/vue3-katex";
7
7
  import "katex/dist/katex.min.css";
8
8
  import "vuex";
@@ -27,6 +27,7 @@ const _sfc_main = {
27
27
  const { isInternalReference } = useMethods();
28
28
  const { onReferenceCreated } = useBaseReference(node.value, route, routeDescription);
29
29
  onMounted(onReferenceCreated);
30
+ const { children } = useChildren(node);
30
31
  return (_ctx, _cache) => {
31
32
  const _component_router_link = resolveComponent("router-link");
32
33
  return unref(isInternalReference)(unref(node)) ? (openBlock(), createBlock(_component_router_link, {
@@ -41,7 +42,16 @@ const _sfc_main = {
41
42
  key: 1,
42
43
  href: unref(node).getAttribute("refuri"),
43
44
  target: "_blank"
44
- }, toDisplayString(unref(node).textContent), 9, _hoisted_1));
45
+ }, [
46
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(children), (c, index) => {
47
+ return openBlock(), createBlock(resolveDynamicComponent(c.component), {
48
+ key: "sub_link_" + index,
49
+ node: c.node,
50
+ componentName: c.name,
51
+ properties: c.properties
52
+ }, null, 8, ["node", "componentName", "properties"]);
53
+ }), 128))
54
+ ], 8, _hoisted_1));
45
55
  };
46
56
  }
47
57
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Reference.js","sources":["../src/components/templates/Reference.vue"],"sourcesContent":["<template>\n <router-link v-if=\"isInternalReference(node)\" :to=\"routeDescription\">\n {{ node.textContent }}\n </router-link>\n <a v-else :href=\"node.getAttribute('refuri')\" target=\"_blank\">\n {{ node.textContent }}\n </a>\n</template>\n\n<script setup>\nimport { onMounted, toRefs, ref } from 'vue'\nimport { useRoute } from 'vue-router'\n\nimport { useMethods } from '../../composables/methods'\nimport { useBaseReference } from '../../composables/basereference'\n\nconst props = defineProps({\n node: {\n type: undefined,\n default: null,\n },\n componentName: {\n type: String,\n },\n})\n\nconst routeDescription = ref({path: '', hash: ''})\nconst { node } = toRefs(props)\nconst route = useRoute()\n\nconst { isInternalReference } = useMethods()\nconst { onReferenceCreated } = useBaseReference(node.value, route, routeDescription)\n\nonMounted(onReferenceCreated)\n\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA0BA,UAAM,mBAAmB,IAAI,EAAC,MAAM,IAAI,MAAM,GAAE,CAAC;AACjD,UAAM,EAAE,SAAS,OAAO,KAAK;AAC7B,UAAM,QAAQ,SAAU;AAExB,UAAM,EAAE,wBAAwB,WAAY;AAC5C,UAAM,EAAE,uBAAuB,iBAAiB,KAAK,OAAO,OAAO,gBAAgB;AAEnF,cAAU,kBAAkB;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Reference.js","sources":["../src/components/templates/Reference.vue"],"sourcesContent":["<template>\n <router-link v-if=\"isInternalReference(node)\" :to=\"routeDescription\">\n {{ node.textContent }}\n </router-link>\n <a v-else :href=\"node.getAttribute('refuri')\" target=\"_blank\">\n <component\n v-for=\"(c, index) in children\"\n :key=\"'sub_link_' + index\"\n :is=\"c.component\"\n :node=\"c.node\"\n :componentName=\"c.name\"\n :properties=\"c.properties\"\n />\n </a>\n</template>\n\n<script setup>\nimport { onMounted, toRefs, ref } from 'vue'\nimport { useRoute } from 'vue-router'\n\nimport { useChildren } from '../../composables/computed'\nimport { useMethods } from '../../composables/methods'\nimport { useBaseReference } from '../../composables/basereference'\n\nconst props = defineProps({\n node: {\n type: undefined,\n default: null,\n },\n componentName: {\n type: String,\n },\n})\n\nconst routeDescription = ref({ path: '', hash: '' })\nconst { node } = toRefs(props)\nconst route = useRoute()\n\nconst { isInternalReference } = useMethods()\nconst { onReferenceCreated } = useBaseReference(\n node.value,\n route,\n routeDescription,\n)\n\nonMounted(onReferenceCreated)\nconst { children } = useChildren(node)\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAkCA,UAAM,mBAAmB,IAAI,EAAE,MAAM,IAAI,MAAM,IAAI;AACnD,UAAM,EAAE,SAAS,OAAO,KAAK;AAC7B,UAAM,QAAQ,SAAU;AAExB,UAAM,EAAE,wBAAwB,WAAY;AAC5C,UAAM,EAAE,uBAAuB,iBAC7B,KAAK,OACL,OACA,gBACF;AAEA,cAAU,kBAAkB;AAC5B,UAAM,EAAE,aAAa,YAAY,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/Skip.js ADDED
@@ -0,0 +1,18 @@
1
+ const _sfc_main = {
2
+ props: {
3
+ node: {
4
+ type: void 0,
5
+ default: null
6
+ },
7
+ componentName: {
8
+ type: String
9
+ }
10
+ },
11
+ setup(__props) {
12
+ return (_ctx, _cache) => {
13
+ return null;
14
+ };
15
+ }
16
+ };
17
+ export { _sfc_main as default };
18
+ //# sourceMappingURL=Skip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Skip.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
@@ -44,14 +44,12 @@ const _sfc_main = {
44
44
  const attrs = ref({});
45
45
  const isButton = ref(false);
46
46
  const componentElement = ref(null);
47
- const transferAttributes = /* @__PURE__ */ new Set(["div", "button"]);
48
47
  const tag = nodeNameTagNameMap.get(node.value.nodeName);
49
- if (transferAttributes.has(node.value.nodeName)) {
50
- const tmpDataObject = dataObject(node.value, node.value.getAttribute("classes"));
51
- attrs.value = __spreadProps(__spreadValues({}, tmpDataObject.attrs), {
52
- class: tmpDataObject.class.join(" ")
53
- });
54
- }
48
+ const tmpDataObject = dataObject(node.value, node.value.getAttribute("classes"));
49
+ const classList = tmpDataObject.class ? tmpDataObject.class.join(" ") : void 0;
50
+ attrs.value = __spreadProps(__spreadValues({}, tmpDataObject.attrs), {
51
+ class: classList
52
+ });
55
53
  if (node.value.nodeName === "button") {
56
54
  isButton.value = true;
57
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"StandardElement.js","sources":["../src/components/templates/StandardElement.vue"],"sourcesContent":["<template>\n <component\n :is=\"tag\"\n :=\"attrs\"\n @[isButton&&`click`]=\"buttonClicked\"\n ref=\"componentElement\"\n >\n <component\n v-for=\"(c, index) in children\"\n :key=\"'standard_element_component_' + index\"\n :is=\"c.component\"\n :node=\"c.node\"\n :componentName=\"c.name\"\n :properties=\"c.properties\"\n />\n </component>\n</template>\n\n<script setup>\nimport { defineProps, toRefs, ref } from 'vue'\n\nimport { nodeNameTagNameMap } from '../../js/nodemap'\nimport { useChildren } from '../../composables/computed'\nimport { useMethods } from '../../composables/methods'\n\nconst props = defineProps({\n node: {\n type: undefined,\n default: null,\n },\n componentName: {\n type: String,\n },\n})\n\nconst { node } = toRefs(props)\nconst { children } = useChildren(node)\nconst { dataObject } = useMethods()\nconst attrs = ref({})\nconst isButton = ref(false)\nconst componentElement = ref(null)\n\nconst transferAttributes = new Set(['div', 'button'])\nconst tag = nodeNameTagNameMap.get(node.value.nodeName)\n\nif (transferAttributes.has(node.value.nodeName)) {\n const tmpDataObject = dataObject(\n node.value,\n node.value.getAttribute('classes'),\n )\n attrs.value = {\n ...tmpDataObject.attrs,\n class: tmpDataObject.class.join(' '),\n }\n}\nif (node.value.nodeName === 'button') {\n isButton.value = true\n}\n\nfunction buttonClicked() {\n if (componentElement.value.getAttribute('aria-selected') === 'false') {\n const parentElement = componentElement.value.parentElement\n let panels = []\n for (const child of parentElement.children) {\n const el = document.getElementById(child.id)\n el.setAttribute(\n 'aria-selected',\n el.getAttribute('aria-selected') === 'true' ? 'false' : 'true',\n )\n panels.push({ id: child.getAttribute('aria-controls') })\n }\n for (const panel of panels) {\n const el = document.getElementById(panel.id)\n if (el.hasAttribute('hidden')) {\n el.removeAttribute('hidden')\n } else {\n el.setAttribute('hidden', '')\n }\n }\n }\n}\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,UAAM,EAAE,SAAS,OAAO,KAAK;AAC7B,UAAM,EAAE,aAAa,YAAY,IAAI;AACrC,UAAM,EAAE,eAAe,WAAY;AACnC,UAAM,QAAQ,IAAI,EAAE;AACpB,UAAM,WAAW,IAAI,KAAK;AAC1B,UAAM,mBAAmB,IAAI,IAAI;AAEjC,UAAM,qBAAqB,oBAAI,IAAI,CAAC,OAAO,QAAQ,CAAC;AACpD,UAAM,MAAM,mBAAmB,IAAI,KAAK,MAAM,QAAQ;AAEtD,QAAI,mBAAmB,IAAI,KAAK,MAAM,QAAQ,GAAG;AAC/C,YAAM,gBAAgB,WACpB,KAAK,OACL,KAAK,MAAM,aAAa,SAAS,CAClC;AACD,YAAM,QAAQ,iCACT,cAAc,QADL;AAAA,QAEZ,OAAO,cAAc,MAAM,KAAK,GAAG;AAAA,MACpC;AAAA,IACH;AACA,QAAI,KAAK,MAAM,aAAa,UAAU;AACpC,eAAS,QAAQ;AAAA,IACnB;AAEA,6BAAyB;AACvB,UAAI,iBAAiB,MAAM,aAAa,eAAe,MAAM,SAAS;AACpE,cAAM,gBAAgB,iBAAiB,MAAM;AAC7C,YAAI,SAAS,CAAE;AACf,mBAAW,SAAS,cAAc,UAAU;AAC1C,gBAAM,KAAK,SAAS,eAAe,MAAM,EAAE;AAC3C,aAAG,aACD,iBACA,GAAG,aAAa,eAAe,MAAM,SAAS,UAAU,MACzD;AACD,iBAAO,KAAK,EAAE,IAAI,MAAM,aAAa,eAAe,GAAG;AAAA,QACxD;AACD,mBAAW,SAAS,QAAQ;AAC1B,gBAAM,KAAK,SAAS,eAAe,MAAM,EAAE;AAC3C,cAAI,GAAG,aAAa,QAAQ,GAAG;AAC7B,eAAG,gBAAgB,QAAQ;AAAA,UACnC,OAAa;AACL,eAAG,aAAa,UAAU,EAAE;AAAA,UAC7B;AAAA,QACF;AAAA,MACF;AAAA,IACH;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"StandardElement.js","sources":["../src/components/templates/StandardElement.vue"],"sourcesContent":["<template>\n <component\n :is=\"tag\"\n :=\"attrs\"\n @[isButton&&`click`]=\"buttonClicked\"\n ref=\"componentElement\"\n >\n <component\n v-for=\"(c, index) in children\"\n :key=\"'standard_element_component_' + index\"\n :is=\"c.component\"\n :node=\"c.node\"\n :componentName=\"c.name\"\n :properties=\"c.properties\"\n />\n </component>\n</template>\n\n<script setup>\nimport { defineProps, toRefs, ref } from 'vue'\n\nimport { nodeNameTagNameMap } from '../../js/nodemap'\nimport { useChildren } from '../../composables/computed'\nimport { useMethods } from '../../composables/methods'\n\nconst props = defineProps({\n node: {\n type: undefined,\n default: null,\n },\n componentName: {\n type: String,\n },\n})\n\nconst { node } = toRefs(props)\nconst { children } = useChildren(node)\nconst { dataObject } = useMethods()\nconst attrs = ref({})\nconst isButton = ref(false)\nconst componentElement = ref(null)\n\nconst transferAttributes = new Set(['div', 'button'])\nconst tag = nodeNameTagNameMap.get(node.value.nodeName)\n\n// if (transferAttributes.has(node.value.nodeName)) {\nconst tmpDataObject = dataObject(node.value, node.value.getAttribute('classes'))\nconst classList = tmpDataObject.class ? tmpDataObject.class.join(' ') : undefined\nattrs.value = {\n ...tmpDataObject.attrs,\n class: classList,\n}\n// }\nif (node.value.nodeName === 'button') {\n isButton.value = true\n}\n\nfunction buttonClicked() {\n if (componentElement.value.getAttribute('aria-selected') === 'false') {\n const parentElement = componentElement.value.parentElement\n let panels = []\n for (const child of parentElement.children) {\n const el = document.getElementById(child.id)\n el.setAttribute(\n 'aria-selected',\n el.getAttribute('aria-selected') === 'true' ? 'false' : 'true',\n )\n panels.push({ id: child.getAttribute('aria-controls') })\n }\n for (const panel of panels) {\n const el = document.getElementById(panel.id)\n if (el.hasAttribute('hidden')) {\n el.removeAttribute('hidden')\n } else {\n el.setAttribute('hidden', '')\n }\n }\n }\n}\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,UAAM,EAAE,SAAS,OAAO,KAAK;AAC7B,UAAM,EAAE,aAAa,YAAY,IAAI;AACrC,UAAM,EAAE,eAAe,WAAY;AACnC,UAAM,QAAQ,IAAI,EAAE;AACpB,UAAM,WAAW,IAAI,KAAK;AAC1B,UAAM,mBAAmB,IAAI,IAAI;AAGjC,UAAM,MAAM,mBAAmB,IAAI,KAAK,MAAM,QAAQ;AAGtD,UAAM,gBAAgB,WAAW,KAAK,OAAO,KAAK,MAAM,aAAa,SAAS,CAAC;AAC/E,UAAM,YAAY,cAAc,QAAQ,cAAc,MAAM,KAAK,GAAG,IAAI;AACxE,UAAM,QAAQ,iCACT,cAAc,QADL;AAAA,MAEZ,OAAO;AAAA,IACT;AAEA,QAAI,KAAK,MAAM,aAAa,UAAU;AACpC,eAAS,QAAQ;AAAA,IACnB;AAEA,6BAAyB;AACvB,UAAI,iBAAiB,MAAM,aAAa,eAAe,MAAM,SAAS;AACpE,cAAM,gBAAgB,iBAAiB,MAAM;AAC7C,YAAI,SAAS,CAAE;AACf,mBAAW,SAAS,cAAc,UAAU;AAC1C,gBAAM,KAAK,SAAS,eAAe,MAAM,EAAE;AAC3C,aAAG,aACD,iBACA,GAAG,aAAa,eAAe,MAAM,SAAS,UAAU,MACzD;AACD,iBAAO,KAAK,EAAE,IAAI,MAAM,aAAa,eAAe,GAAG;AAAA,QACxD;AACD,mBAAW,SAAS,QAAQ;AAC1B,gBAAM,KAAK,SAAS,eAAe,MAAM,EAAE;AAC3C,cAAI,GAAG,aAAa,QAAQ,GAAG;AAC7B,eAAG,gBAAgB,QAAQ;AAAA,UACnC,OAAa;AACL,eAAG,aAAa,UAAU,EAAE;AAAA,UAC7B;AAAA,QACF;AAAA,MACF;AAAA,IACH;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/entry.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import Vue3Katex from "@hsorby/vue3-katex";
2
2
  import "katex/dist/katex.min.css";
3
- import { openBlock, createElementBlock, createElementVNode, toDisplayString, pushScopeId, popScopeId, computed, defineAsyncComponent, toRefs, unref, Fragment, renderList, createBlock, resolveDynamicComponent, ref, watch } from "vue";
3
+ import { openBlock, createElementBlock, createElementVNode, toDisplayString, pushScopeId, popScopeId, computed, defineAsyncComponent, toRefs, Fragment, renderList, unref, createBlock, resolveDynamicComponent, ref, watch } from "vue";
4
4
  import { useRouter, useRoute } from "vue-router";
5
5
  import { useStore } from "vuex";
6
6
  import { pathToRegexp } from "path-to-regexp";
@@ -17,9 +17,12 @@ const determineRouteUrl = (route) => {
17
17
  fullPath = fullPath.replace(route.hash, "");
18
18
  }
19
19
  const matched = fullPath.match(regex);
20
- let base = matched[0];
21
- if (matched[matched.length - 1]) {
22
- base = matched[0].replace(`/${matched[matched.length - 1]}`, "");
20
+ let base = void 0;
21
+ if (matched !== null) {
22
+ base = matched[0];
23
+ if (matched[matched.length - 1]) {
24
+ base = matched[0].replace(`/${matched[matched.length - 1]}`, "");
25
+ }
23
26
  }
24
27
  return base;
25
28
  };
@@ -126,6 +129,7 @@ const nodeNameTemplateNameMap = /* @__PURE__ */ new Map([
126
129
  ["caption_number", "CaptionNumber"],
127
130
  ["download_reference", "DownloadReference"],
128
131
  ["footnote_reference", "FootnoteReference"],
132
+ ["index", "Skip"],
129
133
  ["line_block", "LineBlock"],
130
134
  ["literal_block", "LiteralBlock"],
131
135
  ["math_block", "MathBlock"],
@@ -189,6 +193,8 @@ function __variableDynamicImportRuntime1__(path) {
189
193
  return import("./Reference.js");
190
194
  case "../components/templates/Section.vue":
191
195
  return import("./Section.js");
196
+ case "../components/templates/Skip.vue":
197
+ return import("./Skip.js");
192
198
  case "../components/templates/StandardElement.vue":
193
199
  return import("./StandardElement.js");
194
200
  case "../components/templates/Text.vue":
@@ -265,6 +271,8 @@ function __variableDynamicImportRuntime0__(path) {
265
271
  return import("./Reference.js");
266
272
  case "../components/templates/Section.vue":
267
273
  return import("./Section.js");
274
+ case "../components/templates/Skip.vue":
275
+ return import("./Skip.js");
268
276
  case "../components/templates/StandardElement.vue":
269
277
  return import("./StandardElement.js");
270
278
  case "../components/templates/Text.vue":
@@ -435,10 +443,10 @@ const _sfc_main$1 = {
435
443
  },
436
444
  setup(__props) {
437
445
  const props = __props;
438
- const { element, id } = toRefs(props);
446
+ const { element } = toRefs(props);
439
447
  const { children } = useChildren(element);
440
448
  return (_ctx, _cache) => {
441
- return openBlock(), createElementBlock("div", { id: unref(id) }, [
449
+ return openBlock(), createElementBlock("div", { id: __props.id }, [
442
450
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(children), (c, index) => {
443
451
  return openBlock(), createBlock(resolveDynamicComponent(c.component), {
444
452
  key: "document_component_" + index,
@@ -517,44 +525,46 @@ const _sfc_main = {
517
525
  }, scrollDelay.value);
518
526
  }
519
527
  watch(route, (to) => {
520
- if (previousRoute.path === void 0 || to.path !== previousRoute.path) {
521
- fetchPageData(to);
522
- if (to.hash) {
523
- setTimeout(() => {
524
- let hash = to.hash;
525
- if (hash.startsWith("#")) {
526
- hash = hash.slice(1);
527
- }
528
- const elem = document.getElementById(hash);
529
- if (elem) {
530
- followScrollTarget(elem);
531
- }
532
- }, scrollDelay.value);
533
- }
534
- } else if (to.path === previousRoute.path && to.hash) {
535
- let hash = to.hash;
536
- if (hash.startsWith("#")) {
537
- hash = hash.slice(1);
538
- }
539
- const elem = document.getElementById(hash);
540
- if (elem) {
541
- window.scrollTo({
542
- top: elem.offsetTop,
543
- behavior: "smooth"
544
- });
528
+ const routeURL = determineRouteUrl(to);
529
+ if (routeURL !== void 0) {
530
+ if (previousRoute.path === void 0 || to.path !== previousRoute.path) {
531
+ const pageName = constructPageNameFromRoute(to);
532
+ fetchPageData(to.path, routeURL, pageName);
533
+ if (to.hash) {
534
+ setTimeout(() => {
535
+ let hash = to.hash;
536
+ if (hash.startsWith("#")) {
537
+ hash = hash.slice(1);
538
+ }
539
+ const elem = document.getElementById(hash);
540
+ if (elem) {
541
+ followScrollTarget(elem);
542
+ }
543
+ }, scrollDelay.value);
544
+ }
545
+ } else if (to.path === previousRoute.path && to.hash) {
546
+ let hash = to.hash;
547
+ if (hash.startsWith("#")) {
548
+ hash = hash.slice(1);
549
+ }
550
+ const elem = document.getElementById(hash);
551
+ if (elem) {
552
+ window.scrollTo({
553
+ top: elem.offsetTop,
554
+ behavior: "smooth"
555
+ });
556
+ }
545
557
  }
546
558
  }
547
559
  previousRoute.path = to.path;
548
560
  previousRoute.hash = to.hash;
549
561
  }, { flush: "pre", immediate: true, deep: true });
550
- function fetchPageData(routeTo) {
551
- let pageName = constructPageNameFromRoute(routeTo);
562
+ function fetchPageData(currentPath, routeURL, pageName) {
552
563
  if (!pageName) {
553
564
  pageName = indexFileName.value;
554
565
  }
555
566
  const resolvedImagesBaseURL = imagesBaseURL.value === "" ? `${baseURL.value}/_images` : imagesBaseURL.value;
556
567
  const resolvedDownloadBaseURL = downloadBaseURL.value === "" ? `${baseURL.value}/_downloads` : downloadBaseURL.value;
557
- const routeURL = determineRouteUrl(routeTo);
558
568
  store.dispatch("sphinx/fetchPage", {
559
569
  page_name: pageName,
560
570
  page_route: routeURL,
@@ -562,18 +572,15 @@ const _sfc_main = {
562
572
  page_downloads: resolvedDownloadBaseURL,
563
573
  page_images: resolvedImagesBaseURL
564
574
  }).then((response) => {
565
- if (response) {
566
- element.value = response;
567
- id.value = "page_" + pageName.replace("/", "_");
568
- } else {
569
- router.push({
570
- name: pageNotFoundName.value,
571
- params: {
572
- type: "page",
573
- message: `Could not find Sphinx page '${pageName}.xml'.`
574
- }
575
- });
576
- }
575
+ element.value = response;
576
+ id.value = "page_" + pageName.replace("/", "_");
577
+ }).catch(() => {
578
+ router.push({
579
+ name: pageNotFoundName.value,
580
+ query: {
581
+ path: currentPath
582
+ }
583
+ });
577
584
  });
578
585
  }
579
586
  return (_ctx, _cache) => {
@@ -663,6 +670,7 @@ const actions = {
663
670
  return documentElement;
664
671
  }).catch(() => {
665
672
  commit("REMOVE_INFLIGHT", { routeURL: page_route, id: page_name });
673
+ throw "Page not found";
666
674
  });
667
675
  commit("ADD_INFLIGHT", { routeURL: page_route, page_name, pending });
668
676
  return pending;
package/dist/entry.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"entry.js","sources":["../src/js/utilities.js","../plugin-vue:export-helper","../src/js/nodemap.js","../src/composables/computed.js","../src/components/templates/Document.vue","../src/components/SphinxPage.vue","../src/services/SphinxService.js","../src/store/modules/sphinx.js","../src/entry.js"],"sourcesContent":["import { pathToRegexp } from \"path-to-regexp\"\nimport { renderBlockQuote } from \"./renderfcns\"\n\nexport const decodeHTML = encoded => {\n let elem = document.createElement('textarea')\n elem.innerHTML = encoded\n return elem.value\n}\n\nexport const determineRouteUrl = route => {\n const regex = pathToRegexp(route.matched[0].path)\n let fullPath = route.fullPath\n if (route.hash) {\n fullPath = fullPath.replace(route.hash, '')\n }\n const matched = fullPath.match(regex)\n let base = matched[0]\n if (matched[matched.length - 1]) {\n base = matched[0].replace(`/${matched[matched.length - 1]}`, '')\n }\n return base\n}\n\nexport const constructPageNameFromRoute = route => {\n let pageName = undefined\n try {\n pageName = route.params.pageName.join('/')\n } catch (_) {\n pageName = route.params.pageName\n }\n return pageName\n}\n","\nexport default (sfc, props) => {\n const target = sfc.__vccOpts || sfc;\n for (const [key, val] of props) {\n target[key] = val;\n }\n return target;\n}\n","export const nodeNameTagNameMap = new Map([\n ['bullet_list', 'ul'],\n ['button', 'button'],\n ['definition', 'dd'],\n ['definition_list', 'dl'],\n ['definition_list_item', 'dt'],\n ['div', 'div'],\n ['emphasis', 'em'],\n ['enumerated_list', 'ol'],\n ['glossary', 'div'],\n ['inline', 'span'],\n ['label', 'span'],\n ['list_item', 'li'],\n ['line', 'p'],\n ['paragraph', 'p'],\n ['rubric', 'h3'],\n ['strong', 'strong'],\n ['subscript', 'sub'],\n ['superscript', 'sup'],\n ['table', 'table'],\n ['tbody', 'tbody'],\n ['entry', 'td'],\n ['row', 'tr'],\n ['thead', 'thead'],\n ['term', 'dt'],\n ['title_reference', 'cite'],\n])\n\nexport const nodeNameTemplateNameMap = new Map([\n ['#text', 'Text'],\n ['block_quote', 'BlockQuote'],\n ['caption', 'FigureCaption'],\n ['caption_number', 'CaptionNumber'],\n ['download_reference', 'DownloadReference'],\n ['footnote_reference', 'FootnoteReference'],\n ['line_block', 'LineBlock'],\n ['literal_block', 'LiteralBlock'],\n ['math_block', 'MathBlock'],\n ['number_reference', 'NumberReference'],\n])\n","import { computed, defineAsyncComponent } from 'vue'\n\nimport ErrorComponent from '../components/Error.vue'\nimport LoadingComponent from '../components/Loading.vue'\nimport { nodeNameTagNameMap, nodeNameTemplateNameMap } from '../js/nodemap'\n\nfunction defineChildComponent(name, node) {\n let properties = undefined\n if (node.nodeName === '#text') {\n if (!node.nodeValue.trim()) {\n return null\n }\n properties = {\n text: node.nodeValue,\n }\n } else if (node.nodeName === 'title') {\n let parentNode = node.parentNode\n let depth = 0\n let isTopic = false\n if (parentNode.nodeName === 'topic') {\n isTopic = true\n } else {\n while (parentNode) {\n // && parentNode.nodeName !== ('SphinxPage' should now be 'document' but maybe this is no longer requied).\n if (parentNode.nodeName === 'section') {\n depth += 1\n }\n parentNode = parentNode.parentNode\n }\n }\n properties = {\n depth,\n isTopic,\n }\n }\n const component = defineAsyncComponent({\n loader: () => {\n return import(`../components/templates/${name}.vue`)\n },\n // A component to use while the async component is loading\n loadingComponent: LoadingComponent,\n // A component to use if the load fails\n errorComponent: ErrorComponent,\n })\n\n return {\n component,\n name,\n node,\n properties,\n }\n}\n\nfunction defineColgroupComponent(node, colspecs) {\n const name = 'ColumnGroup'\n const component = defineAsyncComponent({\n loader: () => {\n return import(`../components/templates/${name}.vue`)\n },\n // A component to use while the async component is loading\n loadingComponent: LoadingComponent,\n // A component to use if the load fails\n errorComponent: ErrorComponent,\n })\n \n const properties = {\n colspecs\n }\n\n return {\n component,\n name,\n node,\n properties,\n }\n}\n\nfunction mapToComponentName(name) {\n let componentName =\n name.charAt(0).toUpperCase() + name.slice(1)\n if (nodeNameTemplateNameMap.has(name)) {\n componentName = nodeNameTemplateNameMap.get(name)\n } else if (nodeNameTagNameMap.has(name)) {\n componentName = 'StandardElement'\n }\nreturn componentName\n}\n\nfunction addTGroup(components, node, columns) {\n if (node === null) {\n return components\n }\n\n let colspecs = []\n for (const colspec of node.querySelectorAll('colspec')) {\n colspecs.push(colspec.getAttribute('colwidth'))\n }\n\n if (colspecs.length !== columns) {\n console.log('Something is not right.')\n }\n components.push(defineColgroupComponent(node, colspecs))\n\n return components\n}\n\nfunction addComponents(components, node) {\n if (node === null) {\n return components\n }\n\n let childTarget = null\n for (const child of node.childNodes) {\n const childName = child.nodeName\n if (childName === 'compact_paragraph') {\n // Skip over this wrapper and directly add its children to this component.\n components = addComponents(components, child)\n } else if (childName === 'tgroup') {\n // Skip over these wrappers and directly add their children to this component.\n const columnCount = Number(child.getAttribute('cols'))\n components = addTGroup(components, child, columnCount)\n components = addComponents(components, child)\n } else if (childName === 'colspec') {\n // Ignore this element completely, this element is dealt with by 'tgroup'.\n } else {\n if (childName === 'target') {\n childTarget = child.getAttribute('refid')\n } else {\n if (childName !== '#text' && childTarget) {\n child.setAttribute('id', childTarget)\n childTarget = ''\n }\n const componentName = mapToComponentName(childName)\n const item = defineChildComponent(componentName, child)\n if (item) {\n components.push(item)\n }\n }\n }\n }\n\n return components\n}\n\nexport function useChildren(element) {\n const children = computed(() => {\n return addComponents([], element.value)\n })\n\n return {\n children,\n }\n}\n\nexport function useClasses(element) {\n const classes = computed(() => {\n let classesString = element.value.getAttribute('classes')\n let classes = []\n if (classesString) {\n classes = classesString.split(' ')\n }\n return [element.value.nodeName.toLowerCase(), ...classes]\n })\n\n return {\n classes\n }\n}\n","<template>\n <div :id=\"id\">\n <component\n v-for=\"(c, index) in children\"\n :key=\"'document_component_' + index\"\n :is=\"c.component\"\n :node=\"c.node\"\n :componentName=\"c.name\"\n :properties=\"c.properties\"\n />\n </div>\n</template>\n\n<script setup>\nimport { defineProps, toRefs } from 'vue'\n\nimport { useChildren } from '../../composables/computed'\n\nconst props = defineProps({\n element: {\n type: undefined,\n default: { empty: true },\n },\n id: {\n type: String,\n default: '',\n },\n})\n\nconst { element, id } = toRefs(props)\nconst { children } = useChildren(element)\n\n</script>\n","<template>\n <document :element=\"element\" :id=\"id\" />\n</template>\n\n<script setup>\nimport { defineProps, ref, toRefs, watch } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\nimport { useStore } from 'vuex'\n\nimport { determineRouteUrl, constructPageNameFromRoute } from '../js/utilities'\n\nimport Document from './templates/Document.vue'\n\nconst props = defineProps({\n baseURL: {\n type: String,\n default: '/',\n },\n downloadBaseURL: {\n type: String,\n default: '',\n },\n imagesBaseURL: {\n type: String,\n default: '',\n },\n indexFileName: {\n type: String,\n default: 'index',\n },\n pageNotFoundName: {\n type: String,\n default: '404',\n },\n scrollDelay: {\n type: Number,\n default: 200,\n },\n})\n\nconst {\n baseURL,\n downloadBaseURL,\n imagesBaseURL,\n indexFileName,\n pageNotFoundName,\n scrollDelay,\n} = toRefs(props)\n\nconst router = useRouter()\nconst route = useRoute()\nconst store = useStore()\n\nlet element = ref(null)\nlet scrollToTarget = ref(undefined)\nlet id = ref('')\nlet previousRoute = {\n path: undefined,\n hash: undefined,\n}\n\nfunction followScrollTarget(elem) {\n setTimeout(() => {\n scrollToTarget.value = elem.offsetTop\n window.scrollTo({\n top: elem.offsetTop,\n behavior: 'smooth',\n })\n setTimeout(() => {\n if (scrollToTarget.value !== elem.offsetTop) {\n followScrollTarget(elem)\n }\n }, 10)\n }, scrollDelay.value)\n}\n\nwatch(\n route,\n (to) => {\n if (previousRoute.path === undefined || to.path !== previousRoute.path) {\n fetchPageData(to)\n if (to.hash) {\n setTimeout(() => {\n let hash = to.hash\n if (hash.startsWith('#')) {\n hash = hash.slice(1)\n }\n const elem = document.getElementById(hash)\n if (elem) {\n followScrollTarget(elem)\n }\n }, scrollDelay.value)\n }\n } else if (to.path === previousRoute.path && to.hash) {\n let hash = to.hash\n if (hash.startsWith('#')) {\n hash = hash.slice(1)\n }\n const elem = document.getElementById(hash)\n if (elem) {\n window.scrollTo({\n top: elem.offsetTop,\n behavior: 'smooth',\n })\n }\n }\n previousRoute.path = to.path\n previousRoute.hash = to.hash\n },\n { flush: 'pre', immediate: true, deep: true },\n)\n\nfunction fetchPageData(routeTo) {\n let pageName = constructPageNameFromRoute(routeTo)\n if (!pageName) {\n pageName = indexFileName.value\n }\n const resolvedImagesBaseURL =\n imagesBaseURL.value === ''\n ? `${baseURL.value}/_images`\n : imagesBaseURL.value\n const resolvedDownloadBaseURL =\n downloadBaseURL.value === ''\n ? `${baseURL.value}/_downloads`\n : downloadBaseURL.value\n const routeURL = determineRouteUrl(routeTo)\n\n store\n .dispatch('sphinx/fetchPage', {\n page_name: pageName,\n page_route: routeURL,\n page_url: baseURL.value,\n page_downloads: resolvedDownloadBaseURL,\n page_images: resolvedImagesBaseURL,\n })\n .then((response) => {\n if (response) {\n element.value = response\n id.value = 'page_' + pageName.replace('/', '_')\n } else {\n router.push({\n name: pageNotFoundName.value,\n params: {\n type: 'page',\n message: `Could not find Sphinx page '${pageName}.xml'.`,\n },\n })\n }\n })\n}\n</script>\n","import axios from 'axios'\n\nconst apiClient = axios.create({\n withCredentials: false,\n headers: {\n Accept: 'text/xml',\n 'Content-Type': 'text/xml',\n },\n timeout: 10000,\n})\n\nexport default {\n getPage(baseURL, page) {\n return apiClient.get(`${baseURL}/${page}.xml`)\n },\n}\n","import SphinxService from '../../services/SphinxService'\n\nexport const namespaced = true\n\nexport const state = {\n pages: new Map(),\n urlMap: new Map(),\n inflight: new Map(),\n downloadURLs: new Map(),\n imagesURLs: new Map(),\n}\n\nexport const mutations = {\n APPEND_PAGE(state, { routeURL, page }) {\n let pages = state.pages.get(routeURL)\n if (!pages) {\n pages = []\n }\n pages.push(page)\n state.pages.set(routeURL, pages)\n },\n ADD_INFLIGHT(state, { routeURL, page_name, pending }) {\n let inflightMap = state.inflight.get(routeURL)\n if (!inflightMap) {\n inflightMap = new Map()\n }\n inflightMap.set(page_name, pending)\n state.inflight.set(routeURL, inflightMap)\n },\n REMOVE_INFLIGHT(state, { routeURL, id }) {\n state.inflight.get(routeURL).delete(id)\n },\n // SET_DOWNLOADS_URL(state, { routeURL, url }) {\n // state.downloadsURLs.set(routeURL, url)\n // },\n // SET_IMAGES_URL(state, { routeURL, url }) {\n // state.imagesURLs.set(routeURL, url)\n // },\n REGISTER_ROUTE_URL(state, { baseURL, routeURL, downloadsURL, imagesURL }) {\n const registeredURL = state.pages.get(routeURL)\n if (!registeredURL) {\n state.pages.set(routeURL, [])\n state.urlMap.set(routeURL, baseURL)\n state.downloadURLs.set(routeURL, downloadsURL)\n state.imagesURLs.set(routeURL, imagesURL)\n state.inflight.set(routeURL, new Map())\n }\n },\n}\n\nexport const actions = {\n fetchPage({ commit, getters }, payload) {\n const page_name = payload.page_name\n const page_route = payload.page_route\n const base_url = payload.page_url\n commit('REGISTER_ROUTE_URL', {\n baseURL: base_url,\n routeURL: page_route,\n downloadsURL: payload.page_downloads,\n imagesURL: payload.page_images,\n })\n const existingPage = getters.getPageById(page_route, page_name)\n if (existingPage) {\n return Promise.resolve(existingPage)\n }\n if (getters.isInflight(page_route, page_name)) {\n return getters.getInflight(page_route, page_name)\n }\n const pending = SphinxService.getPage(base_url, page_name)\n .then(response => {\n let parser = new DOMParser()\n let xmlDoc = parser.parseFromString(response.data, 'text/xml')\n const documentElement = xmlDoc.querySelector('document')\n commit('APPEND_PAGE', { routeURL: page_route, page: documentElement })\n commit('REMOVE_INFLIGHT', { routeURL: page_route, id: page_name })\n return documentElement\n })\n .catch(() => {\n commit('REMOVE_INFLIGHT', { routeURL: page_route, id: page_name })\n })\n commit('ADD_INFLIGHT', { routeURL: page_route, page_name, pending })\n return pending\n },\n // setDownloadURL({ commit }, { page_route, url }) {\n // commit('SET_DOWNLOAD_URL', { routeURL: page_route, url })\n // },\n // setImagesURL({ commit }, { page_route, url }) {\n // commit('SET_IMAGES_URL', { routeURL: page_route, url })\n // },\n}\n\nexport const getters = {\n getPageById: state => (routeURL, id) => {\n return state.pages.get(routeURL).find(page => page.id === id)\n },\n getInflight: state => (routeURL, id) => {\n return state.inflight.get(routeURL).get(id)\n },\n isInflight: state => (routeURL, id) => {\n return !!state.inflight.get(routeURL).get(id)\n },\n getBaseUrl: state => routeURL => {\n return state.urlMap.get(routeURL)\n },\n getDownloadURL: state => routeURL => {\n return state.downloadURLs.get(routeURL)\n },\n getImagesURL: state => routeURL => {\n return state.imagesURLs.get(routeURL)\n },\n}\n","import Vue3Katex from '@hsorby/vue3-katex'\nimport 'katex/dist/katex.min.css'\n\nimport SphinxPage from './components/SphinxPage.vue'\nimport * as SphinxStore from './store/modules/sphinx'\n\nfunction installVue3SphinxXml(app, options = {}) {\n if (!options.store) {\n throw 'Please provide a store!!'\n }\n\n options.store.registerModule('sphinx', SphinxStore)\n app.use(Vue3Katex, options.katex)\n}\n\nexport { installVue3SphinxXml, SphinxPage }\n\n"],"names":["ErrorComponent"],"mappings":"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"}
1
+ {"version":3,"file":"entry.js","sources":["../src/js/utilities.js","../plugin-vue:export-helper","../src/js/nodemap.js","../src/composables/computed.js","../src/components/templates/Document.vue","../src/components/SphinxPage.vue","../src/services/SphinxService.js","../src/store/modules/sphinx.js","../src/entry.js"],"sourcesContent":["import { pathToRegexp } from 'path-to-regexp'\n\nexport const decodeHTML = (encoded) => {\n let elem = document.createElement('textarea')\n elem.innerHTML = encoded\n return elem.value\n}\n\nexport const determineRouteUrl = (route) => {\n const regex = pathToRegexp(route.matched[0].path)\n let fullPath = route.fullPath\n if (route.hash) {\n fullPath = fullPath.replace(route.hash, '')\n }\n const matched = fullPath.match(regex)\n let base = undefined\n if (matched !== null) {\n base = matched[0]\n if (matched[matched.length - 1]) {\n base = matched[0].replace(`/${matched[matched.length - 1]}`, '')\n }\n }\n return base\n}\n\nexport const constructPageNameFromRoute = (route) => {\n let pageName = undefined\n try {\n pageName = route.params.pageName.join('/')\n } catch (_) {\n pageName = route.params.pageName\n }\n return pageName\n}\n","\nexport default (sfc, props) => {\n const target = sfc.__vccOpts || sfc;\n for (const [key, val] of props) {\n target[key] = val;\n }\n return target;\n}\n","export const nodeNameTagNameMap = new Map([\n ['bullet_list', 'ul'],\n ['button', 'button'],\n ['definition', 'dd'],\n ['definition_list', 'dl'],\n ['definition_list_item', 'dt'],\n ['div', 'div'],\n ['emphasis', 'em'],\n ['enumerated_list', 'ol'],\n ['glossary', 'div'],\n ['inline', 'span'],\n ['label', 'span'],\n ['list_item', 'li'],\n ['line', 'p'],\n ['paragraph', 'p'],\n ['rubric', 'h3'],\n ['strong', 'strong'],\n ['subscript', 'sub'],\n ['superscript', 'sup'],\n ['table', 'table'],\n ['tbody', 'tbody'],\n ['entry', 'td'],\n ['row', 'tr'],\n ['thead', 'thead'],\n ['term', 'dt'],\n ['title_reference', 'cite'],\n])\n\nexport const nodeNameTemplateNameMap = new Map([\n ['#text', 'Text'],\n ['block_quote', 'BlockQuote'],\n ['caption', 'FigureCaption'],\n ['caption_number', 'CaptionNumber'],\n ['download_reference', 'DownloadReference'],\n ['footnote_reference', 'FootnoteReference'],\n ['index', 'Skip'],\n ['line_block', 'LineBlock'],\n ['literal_block', 'LiteralBlock'],\n ['math_block', 'MathBlock'],\n ['number_reference', 'NumberReference'],\n])\n","import { computed, defineAsyncComponent } from 'vue'\n\nimport ErrorComponent from '../components/Error.vue'\nimport LoadingComponent from '../components/Loading.vue'\nimport { nodeNameTagNameMap, nodeNameTemplateNameMap } from '../js/nodemap'\n\nfunction defineChildComponent(name, node) {\n let properties = undefined\n if (node.nodeName === '#text') {\n if (!node.nodeValue.trim()) {\n return null\n }\n properties = {\n text: node.nodeValue,\n }\n } else if (node.nodeName === 'title') {\n let parentNode = node.parentNode\n let depth = 0\n let isTopic = false\n if (parentNode.nodeName === 'topic') {\n isTopic = true\n } else {\n while (parentNode) {\n // && parentNode.nodeName !== ('SphinxPage' should now be 'document' but maybe this is no longer requied).\n if (parentNode.nodeName === 'section') {\n depth += 1\n }\n parentNode = parentNode.parentNode\n }\n }\n properties = {\n depth,\n isTopic,\n }\n }\n const component = defineAsyncComponent({\n loader: () => {\n return import(`../components/templates/${name}.vue`)\n },\n // A component to use while the async component is loading\n loadingComponent: LoadingComponent,\n // A component to use if the load fails\n errorComponent: ErrorComponent,\n })\n\n return {\n component,\n name,\n node,\n properties,\n }\n}\n\nfunction defineColgroupComponent(node, colspecs) {\n const name = 'ColumnGroup'\n const component = defineAsyncComponent({\n loader: () => {\n return import(`../components/templates/${name}.vue`)\n },\n // A component to use while the async component is loading\n loadingComponent: LoadingComponent,\n // A component to use if the load fails\n errorComponent: ErrorComponent,\n })\n \n const properties = {\n colspecs\n }\n\n return {\n component,\n name,\n node,\n properties,\n }\n}\n\nfunction mapToComponentName(name) {\n let componentName =\n name.charAt(0).toUpperCase() + name.slice(1)\n if (nodeNameTemplateNameMap.has(name)) {\n componentName = nodeNameTemplateNameMap.get(name)\n } else if (nodeNameTagNameMap.has(name)) {\n componentName = 'StandardElement'\n }\nreturn componentName\n}\n\nfunction addTGroup(components, node, columns) {\n if (node === null) {\n return components\n }\n\n let colspecs = []\n for (const colspec of node.querySelectorAll('colspec')) {\n colspecs.push(colspec.getAttribute('colwidth'))\n }\n\n if (colspecs.length !== columns) {\n console.log('Something is not right.')\n }\n components.push(defineColgroupComponent(node, colspecs))\n\n return components\n}\n\nfunction addComponents(components, node) {\n if (node === null) {\n return components\n }\n\n let childTarget = null\n for (const child of node.childNodes) {\n const childName = child.nodeName\n if (childName === 'compact_paragraph') {\n // Skip over this wrapper and directly add its children to this component.\n components = addComponents(components, child)\n } else if (childName === 'tgroup') {\n // Skip over these wrappers and directly add their children to this component.\n const columnCount = Number(child.getAttribute('cols'))\n components = addTGroup(components, child, columnCount)\n components = addComponents(components, child)\n } else if (childName === 'colspec') {\n // Ignore this element completely, this element is dealt with by 'tgroup'.\n } else {\n if (childName === 'target') {\n childTarget = child.getAttribute('refid')\n } else {\n if (childName !== '#text' && childTarget) {\n child.setAttribute('id', childTarget)\n childTarget = ''\n }\n const componentName = mapToComponentName(childName)\n const item = defineChildComponent(componentName, child)\n if (item) {\n components.push(item)\n }\n }\n }\n }\n\n return components\n}\n\nexport function useChildren(element) {\n const children = computed(() => {\n return addComponents([], element.value)\n })\n\n return {\n children,\n }\n}\n\nexport function useClasses(element) {\n const classes = computed(() => {\n let classesString = element.value.getAttribute('classes')\n let classes = []\n if (classesString) {\n classes = classesString.split(' ')\n }\n return [element.value.nodeName.toLowerCase(), ...classes]\n })\n\n return {\n classes\n }\n}\n","<template>\n <div :id=\"id\">\n <component\n v-for=\"(c, index) in children\"\n :key=\"'document_component_' + index\"\n :is=\"c.component\"\n :node=\"c.node\"\n :componentName=\"c.name\"\n :properties=\"c.properties\"\n />\n </div>\n</template>\n\n<script setup>\nimport { defineProps, toRefs } from 'vue'\n\nimport { useChildren } from '../../composables/computed'\n\nconst props = defineProps({\n element: {\n type: undefined,\n default: { empty: true },\n },\n id: {\n type: String,\n default: '',\n },\n})\n\nconst { element } = toRefs(props)\nconst { children } = useChildren(element)\n\n</script>\n","<template>\n <document :element=\"element\" :id=\"id\" />\n</template>\n\n<script setup>\nimport { defineProps, ref, toRefs, watch } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\nimport { useStore } from 'vuex'\n\nimport { determineRouteUrl, constructPageNameFromRoute } from '../js/utilities'\n\nimport Document from './templates/Document.vue'\n\nconst props = defineProps({\n baseURL: {\n type: String,\n default: '/',\n },\n downloadBaseURL: {\n type: String,\n default: '',\n },\n imagesBaseURL: {\n type: String,\n default: '',\n },\n indexFileName: {\n type: String,\n default: 'index',\n },\n pageNotFoundName: {\n type: String,\n default: '404',\n },\n scrollDelay: {\n type: Number,\n default: 200,\n },\n})\n\nconst {\n baseURL,\n downloadBaseURL,\n imagesBaseURL,\n indexFileName,\n pageNotFoundName,\n scrollDelay,\n} = toRefs(props)\n\nconst router = useRouter()\nconst route = useRoute()\nconst store = useStore()\n\nlet element = ref(null)\nlet scrollToTarget = ref(undefined)\nlet id = ref('')\nlet previousRoute = {\n path: undefined,\n hash: undefined,\n}\n\nfunction followScrollTarget(elem) {\n setTimeout(() => {\n scrollToTarget.value = elem.offsetTop\n window.scrollTo({\n top: elem.offsetTop,\n behavior: 'smooth',\n })\n setTimeout(() => {\n if (scrollToTarget.value !== elem.offsetTop) {\n followScrollTarget(elem)\n }\n }, 10)\n }, scrollDelay.value)\n}\n\nwatch(\n route,\n (to) => {\n const routeURL = determineRouteUrl(to)\n if (routeURL !== undefined) {\n if (previousRoute.path === undefined || to.path !== previousRoute.path) {\n const pageName = constructPageNameFromRoute(to)\n fetchPageData(to.path, routeURL, pageName)\n if (to.hash) {\n setTimeout(() => {\n let hash = to.hash\n if (hash.startsWith('#')) {\n hash = hash.slice(1)\n }\n const elem = document.getElementById(hash)\n if (elem) {\n followScrollTarget(elem)\n }\n }, scrollDelay.value)\n }\n } else if (to.path === previousRoute.path && to.hash) {\n let hash = to.hash\n if (hash.startsWith('#')) {\n hash = hash.slice(1)\n }\n const elem = document.getElementById(hash)\n if (elem) {\n window.scrollTo({\n top: elem.offsetTop,\n behavior: 'smooth',\n })\n }\n }\n }\n\n previousRoute.path = to.path\n previousRoute.hash = to.hash\n },\n { flush: 'pre', immediate: true, deep: true },\n)\n\nfunction fetchPageData(currentPath, routeURL, pageName) {\n if (!pageName) {\n pageName = indexFileName.value\n }\n const resolvedImagesBaseURL =\n imagesBaseURL.value === ''\n ? `${baseURL.value}/_images`\n : imagesBaseURL.value\n const resolvedDownloadBaseURL =\n downloadBaseURL.value === ''\n ? `${baseURL.value}/_downloads`\n : downloadBaseURL.value\n\n store\n .dispatch('sphinx/fetchPage', {\n page_name: pageName,\n page_route: routeURL,\n page_url: baseURL.value,\n page_downloads: resolvedDownloadBaseURL,\n page_images: resolvedImagesBaseURL,\n })\n .then((response) => {\n element.value = response\n id.value = 'page_' + pageName.replace('/', '_')\n })\n .catch(() => {\n router.push({\n name: pageNotFoundName.value,\n query: {\n path: currentPath,\n },\n })\n })\n}\n</script>\n","import axios from 'axios'\n\nconst apiClient = axios.create({\n withCredentials: false,\n headers: {\n Accept: 'text/xml',\n 'Content-Type': 'text/xml',\n },\n timeout: 10000,\n})\n\nexport default {\n getPage(baseURL, page) {\n return apiClient.get(`${baseURL}/${page}.xml`)\n },\n}\n","import SphinxService from '../../services/SphinxService'\n\nexport const namespaced = true\n\nexport const state = {\n pages: new Map(),\n urlMap: new Map(),\n inflight: new Map(),\n downloadURLs: new Map(),\n imagesURLs: new Map(),\n}\n\nexport const mutations = {\n APPEND_PAGE(state, { routeURL, page }) {\n let pages = state.pages.get(routeURL)\n if (!pages) {\n pages = []\n }\n pages.push(page)\n state.pages.set(routeURL, pages)\n },\n ADD_INFLIGHT(state, { routeURL, page_name, pending }) {\n let inflightMap = state.inflight.get(routeURL)\n if (!inflightMap) {\n inflightMap = new Map()\n }\n inflightMap.set(page_name, pending)\n state.inflight.set(routeURL, inflightMap)\n },\n REMOVE_INFLIGHT(state, { routeURL, id }) {\n state.inflight.get(routeURL).delete(id)\n },\n // SET_DOWNLOADS_URL(state, { routeURL, url }) {\n // state.downloadsURLs.set(routeURL, url)\n // },\n // SET_IMAGES_URL(state, { routeURL, url }) {\n // state.imagesURLs.set(routeURL, url)\n // },\n REGISTER_ROUTE_URL(state, { baseURL, routeURL, downloadsURL, imagesURL }) {\n const registeredURL = state.pages.get(routeURL)\n if (!registeredURL) {\n state.pages.set(routeURL, [])\n state.urlMap.set(routeURL, baseURL)\n state.downloadURLs.set(routeURL, downloadsURL)\n state.imagesURLs.set(routeURL, imagesURL)\n state.inflight.set(routeURL, new Map())\n }\n },\n}\n\nexport const actions = {\n fetchPage({ commit, getters }, payload) {\n const page_name = payload.page_name\n const page_route = payload.page_route\n const base_url = payload.page_url\n commit('REGISTER_ROUTE_URL', {\n baseURL: base_url,\n routeURL: page_route,\n downloadsURL: payload.page_downloads,\n imagesURL: payload.page_images,\n })\n const existingPage = getters.getPageById(page_route, page_name)\n if (existingPage) {\n return Promise.resolve(existingPage)\n }\n if (getters.isInflight(page_route, page_name)) {\n return getters.getInflight(page_route, page_name)\n }\n const pending = SphinxService.getPage(base_url, page_name)\n .then(response => {\n let parser = new DOMParser()\n let xmlDoc = parser.parseFromString(response.data, 'text/xml')\n const documentElement = xmlDoc.querySelector('document')\n commit('APPEND_PAGE', { routeURL: page_route, page: documentElement })\n commit('REMOVE_INFLIGHT', { routeURL: page_route, id: page_name })\n return documentElement\n })\n .catch(() => {\n commit('REMOVE_INFLIGHT', { routeURL: page_route, id: page_name })\n throw 'Page not found'\n })\n commit('ADD_INFLIGHT', { routeURL: page_route, page_name, pending })\n return pending\n },\n // setDownloadURL({ commit }, { page_route, url }) {\n // commit('SET_DOWNLOAD_URL', { routeURL: page_route, url })\n // },\n // setImagesURL({ commit }, { page_route, url }) {\n // commit('SET_IMAGES_URL', { routeURL: page_route, url })\n // },\n}\n\nexport const getters = {\n getPageById: state => (routeURL, id) => {\n return state.pages.get(routeURL).find(page => page.id === id)\n },\n getInflight: state => (routeURL, id) => {\n return state.inflight.get(routeURL).get(id)\n },\n isInflight: state => (routeURL, id) => {\n return !!state.inflight.get(routeURL).get(id)\n },\n getBaseUrl: state => routeURL => {\n return state.urlMap.get(routeURL)\n },\n getDownloadURL: state => routeURL => {\n return state.downloadURLs.get(routeURL)\n },\n getImagesURL: state => routeURL => {\n return state.imagesURLs.get(routeURL)\n },\n}\n","import Vue3Katex from '@hsorby/vue3-katex'\nimport 'katex/dist/katex.min.css'\n\nimport SphinxPage from './components/SphinxPage.vue'\nimport * as SphinxStore from './store/modules/sphinx'\n\nfunction installVue3SphinxXml(app, options = {}) {\n if (!options.store) {\n throw 'Please provide a store!!'\n }\n\n options.store.registerModule('sphinx', SphinxStore)\n app.use(Vue3Katex, options.katex)\n}\n\nexport { installVue3SphinxXml, SphinxPage }\n"],"names":["ErrorComponent"],"mappings":";;;;;;;AAEY,MAAC,aAAa,CAAC,YAAY;AACrC,MAAI,OAAO,SAAS,cAAc,UAAU;AAC5C,OAAK,YAAY;AACjB,SAAO,KAAK;AACd;AAEY,MAAC,oBAAoB,CAAC,UAAU;AAC1C,QAAM,QAAQ,aAAa,MAAM,QAAQ,GAAG,IAAI;AAChD,MAAI,WAAW,MAAM;AACrB,MAAI,MAAM,MAAM;AACd,eAAW,SAAS,QAAQ,MAAM,MAAM,EAAE;AAAA,EAC3C;AACD,QAAM,UAAU,SAAS,MAAM,KAAK;AACpC,MAAI,OAAO;AACX,MAAI,YAAY,MAAM;AACpB,WAAO,QAAQ;AACf,QAAI,QAAQ,QAAQ,SAAS,IAAI;AAC/B,aAAO,QAAQ,GAAG,QAAQ,IAAI,QAAQ,QAAQ,SAAS,MAAM,EAAE;AAAA,IAChE;AAAA,EACF;AACD,SAAO;AACT;AAEY,MAAC,6BAA6B,CAAC,UAAU;AACnD,MAAI,WAAW;AACf,MAAI;AACF,eAAW,MAAM,OAAO,SAAS,KAAK,GAAG;AAAA,EAC1C,SAAQ,GAAP;AACA,eAAW,MAAM,OAAO;AAAA,EACzB;AACD,SAAO;AACT;;;;;;;;;;;;;;;;;;;;;AChCA,IAAA,cAAe,CAAC,KAAK,UAAU;AAC7B,QAAM,SAAS,IAAI,aAAa;AAChC,aAAW,CAAC,KAAK,QAAQ,OAAO;AAC9B,WAAO,OAAO;AAAA,EACf;AACD,SAAO;AACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPY,MAAC,qBAAqB,oBAAI,IAAI;AAAA,EACxC,CAAC,eAAe,IAAI;AAAA,EACpB,CAAC,UAAU,QAAQ;AAAA,EACnB,CAAC,cAAc,IAAI;AAAA,EACnB,CAAC,mBAAmB,IAAI;AAAA,EACxB,CAAC,wBAAwB,IAAI;AAAA,EAC7B,CAAC,OAAO,KAAK;AAAA,EACb,CAAC,YAAY,IAAI;AAAA,EACjB,CAAC,mBAAmB,IAAI;AAAA,EACxB,CAAC,YAAY,KAAK;AAAA,EAClB,CAAC,UAAU,MAAM;AAAA,EACjB,CAAC,SAAS,MAAM;AAAA,EAChB,CAAC,aAAa,IAAI;AAAA,EAClB,CAAC,QAAQ,GAAG;AAAA,EACZ,CAAC,aAAa,GAAG;AAAA,EACjB,CAAC,UAAU,IAAI;AAAA,EACf,CAAC,UAAU,QAAQ;AAAA,EACnB,CAAC,aAAa,KAAK;AAAA,EACnB,CAAC,eAAe,KAAK;AAAA,EACrB,CAAC,SAAS,OAAO;AAAA,EACjB,CAAC,SAAS,OAAO;AAAA,EACjB,CAAC,SAAS,IAAI;AAAA,EACd,CAAC,OAAO,IAAI;AAAA,EACZ,CAAC,SAAS,OAAO;AAAA,EACjB,CAAC,QAAQ,IAAI;AAAA,EACb,CAAC,mBAAmB,MAAM;AAC5B,CAAC;AAEM,MAAM,0BAA0B,oBAAI,IAAI;AAAA,EAC7C,CAAC,SAAS,MAAM;AAAA,EAChB,CAAC,eAAe,YAAY;AAAA,EAC5B,CAAC,WAAW,eAAe;AAAA,EAC3B,CAAC,kBAAkB,eAAe;AAAA,EAClC,CAAC,sBAAsB,mBAAmB;AAAA,EAC1C,CAAC,sBAAsB,mBAAmB;AAAA,EAC1C,CAAC,SAAS,MAAM;AAAA,EAChB,CAAC,cAAc,WAAW;AAAA,EAC1B,CAAC,iBAAiB,cAAc;AAAA,EAChC,CAAC,cAAc,WAAW;AAAA,EAC1B,CAAC,oBAAoB,iBAAiB;AACxC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClCD,8BAA8B,MAAM,MAAM;AACxC,MAAI,aAAa;AACjB,MAAI,KAAK,aAAa,SAAS;AAC7B,QAAI,CAAC,KAAK,UAAU,QAAQ;AAC1B,aAAO;AAAA,IACR;AACD,iBAAa;AAAA,MACX,MAAM,KAAK;AAAA,IACZ;AAAA,EACL,WAAa,KAAK,aAAa,SAAS;AACpC,QAAI,aAAa,KAAK;AACtB,QAAI,QAAQ;AACZ,QAAI,UAAU;AACd,QAAI,WAAW,aAAa,SAAS;AACnC,gBAAU;AAAA,IAChB,OAAW;AACL,aAAO,YAAY;AAEjB,YAAI,WAAW,aAAa,WAAW;AACrC,mBAAS;AAAA,QACV;AACD,qBAAa,WAAW;AAAA,MACzB;AAAA,IACF;AACD,iBAAa;AAAA,MACX;AAAA,MACA;AAAA,IACD;AAAA,EACF;AACD,QAAM,YAAY,qBAAqB;AAAA,IACrC,QAAQ,MAAM;AACZ,aAAO,kCAAO,2BAA2B,UAAU;AAAA,IACpD;AAAA,IAED,kBAAkB;AAAA,IAElB,gBAAgBA;AAAAA,EACpB,CAAG;AAED,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACH;AAEA,iCAAiC,MAAM,UAAU;AAC/C,QAAM,OAAO;AACb,QAAM,YAAY,qBAAqB;AAAA,IACrC,QAAQ,MAAM;AACZ,aAAO,kCAAO,2BAA2B,UAAU;AAAA,IACpD;AAAA,IAED,kBAAkB;AAAA,IAElB,gBAAgBA;AAAAA,EACpB,CAAG;AAED,QAAM,aAAa;AAAA,IACjB;AAAA,EACD;AAED,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACH;AAEA,4BAA4B,MAAM;AAChC,MAAI,gBACJ,KAAK,OAAO,CAAC,EAAE,YAAW,IAAK,KAAK,MAAM,CAAC;AAC3C,MAAI,wBAAwB,IAAI,IAAI,GAAG;AACrC,oBAAgB,wBAAwB,IAAI,IAAI;AAAA,EACjD,WAAU,mBAAmB,IAAI,IAAI,GAAG;AACvC,oBAAgB;AAAA,EACjB;AACH,SAAO;AACP;AAEA,mBAAmB,YAAY,MAAM,SAAS;AAC5C,MAAI,SAAS,MAAM;AACjB,WAAO;AAAA,EACR;AAED,MAAI,WAAW,CAAE;AACjB,aAAW,WAAW,KAAK,iBAAiB,SAAS,GAAG;AACtD,aAAS,KAAK,QAAQ,aAAa,UAAU,CAAC;AAAA,EAC/C;AAED,MAAI,SAAS,WAAW,SAAS;AAC/B,YAAQ,IAAI,yBAAyB;AAAA,EACtC;AACD,aAAW,KAAK,wBAAwB,MAAM,QAAQ,CAAC;AAEvD,SAAO;AACT;AAEA,uBAAuB,YAAY,MAAM;AACvC,MAAI,SAAS,MAAM;AACjB,WAAO;AAAA,EACR;AAED,MAAI,cAAc;AAClB,aAAW,SAAS,KAAK,YAAY;AACnC,UAAM,YAAY,MAAM;AACxB,QAAI,cAAc,qBAAqB;AAErC,mBAAa,cAAc,YAAY,KAAK;AAAA,IAClD,WAAe,cAAc,UAAU;AAEjC,YAAM,cAAc,OAAO,MAAM,aAAa,MAAM,CAAC;AACrD,mBAAa,UAAU,YAAY,OAAO,WAAW;AACrD,mBAAa,cAAc,YAAY,KAAK;AAAA,IAClD,WAAe,cAAc;AAAW;AAAA,SAE7B;AACL,UAAI,cAAc,UAAU;AAC1B,sBAAc,MAAM,aAAa,OAAO;AAAA,MAChD,OAAa;AACL,YAAI,cAAc,WAAW,aAAa;AACxC,gBAAM,aAAa,MAAM,WAAW;AACpC,wBAAc;AAAA,QACf;AACD,cAAM,gBAAgB,mBAAmB,SAAS;AAClD,cAAM,OAAO,qBAAqB,eAAe,KAAK;AACtD,YAAI,MAAM;AACR,qBAAW,KAAK,IAAI;AAAA,QACrB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAED,SAAO;AACT;AAEO,qBAAqB,SAAS;AACnC,QAAM,WAAW,SAAS,MAAM;AAC9B,WAAO,cAAc,CAAA,GAAI,QAAQ,KAAK;AAAA,EAC1C,CAAG;AAED,SAAO;AAAA,IACL;AAAA,EACD;AACH;AAEO,oBAAoB,SAAS;AAClC,QAAM,UAAU,SAAS,MAAM;AAC7B,QAAI,gBAAgB,QAAQ,MAAM,aAAa,SAAS;AACxD,QAAI,WAAU,CAAE;AAChB,QAAI,eAAe;AACjB,iBAAU,cAAc,MAAM,GAAG;AAAA,IAClC;AACD,WAAO,CAAC,QAAQ,MAAM,SAAS,YAAW,GAAI,GAAG,QAAO;AAAA,EAC5D,CAAG;AAED,SAAO;AAAA,IACL;AAAA,EACD;AACH;;;;;;;;;;;;;;;AC1IA,UAAM,EAAE,YAAY,OAAO,KAAK;AAChC,UAAM,EAAE,aAAa,YAAY,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACUxC,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE,OAAO,KAAK;AAEhB,UAAM,SAAS,UAAW;AAC1B,UAAM,QAAQ,SAAU;AACxB,UAAM,QAAQ,SAAU;AAExB,QAAI,UAAU,IAAI,IAAI;AACtB,QAAI,iBAAiB,IAAI,MAAS;AAClC,QAAI,KAAK,IAAI,EAAE;AACf,QAAI,gBAAgB;AAAA,MAClB,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAEA,gCAA4B,MAAM;AAChC,iBAAW,MAAM;AACf,uBAAe,QAAQ,KAAK;AAC5B,eAAO,SAAS;AAAA,UACd,KAAK,KAAK;AAAA,UACV,UAAU;AAAA,QAChB,CAAK;AACD,mBAAW,MAAM;AACf,cAAI,eAAe,UAAU,KAAK,WAAW;AAC3C,+BAAmB,IAAI;AAAA,UACxB;AAAA,QACF,GAAE,EAAE;AAAA,MACT,GAAK,YAAY,KAAK;AAAA,IACtB;AAEA,UACE,OACA,CAAC,OAAO;AACN,YAAM,WAAW,kBAAkB,EAAE;AACrC,UAAI,aAAa,QAAW;AAC1B,YAAI,cAAc,SAAS,UAAa,GAAG,SAAS,cAAc,MAAM;AACtE,gBAAM,WAAW,2BAA2B,EAAE;AAC9C,wBAAc,GAAG,MAAM,UAAU,QAAQ;AACzC,cAAI,GAAG,MAAM;AACX,uBAAW,MAAM;AACf,kBAAI,OAAO,GAAG;AACd,kBAAI,KAAK,WAAW,GAAG,GAAG;AACxB,uBAAO,KAAK,MAAM,CAAC;AAAA,cACpB;AACD,oBAAM,OAAO,SAAS,eAAe,IAAI;AACzC,kBAAI,MAAM;AACR,mCAAmB,IAAI;AAAA,cACxB;AAAA,YACb,GAAa,YAAY,KAAK;AAAA,UACrB;AAAA,QACT,WAAiB,GAAG,SAAS,cAAc,QAAQ,GAAG,MAAM;AACpD,cAAI,OAAO,GAAG;AACd,cAAI,KAAK,WAAW,GAAG,GAAG;AACxB,mBAAO,KAAK,MAAM,CAAC;AAAA,UACpB;AACD,gBAAM,OAAO,SAAS,eAAe,IAAI;AACzC,cAAI,MAAM;AACR,mBAAO,SAAS;AAAA,cACd,KAAK,KAAK;AAAA,cACV,UAAU;AAAA,YACtB,CAAW;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAED,oBAAc,OAAO,GAAG;AACxB,oBAAc,OAAO,GAAG;AAAA,IACzB,GACD,EAAE,OAAO,OAAO,WAAW,MAAM,MAAM,KAAM,CAC/C;AAEA,2BAAuB,aAAa,UAAU,UAAU;AACtD,UAAI,CAAC,UAAU;AACb,mBAAW,cAAc;AAAA,MAC1B;AACD,YAAM,wBACJ,cAAc,UAAU,KACpB,GAAG,QAAQ,kBACX,cAAc;AACpB,YAAM,0BACJ,gBAAgB,UAAU,KACtB,GAAG,QAAQ,qBACX,gBAAgB;AAEtB,YACG,SAAS,oBAAoB;AAAA,QAC5B,WAAW;AAAA,QACX,YAAY;AAAA,QACZ,UAAU,QAAQ;AAAA,QAClB,gBAAgB;AAAA,QAChB,aAAa;AAAA,MACnB,CAAK,EACA,KAAK,CAAC,aAAa;AAClB,gBAAQ,QAAQ;AAChB,WAAG,QAAQ,UAAU,SAAS,QAAQ,KAAK,GAAG;AAAA,MACpD,CAAK,EACA,MAAM,MAAM;AACX,eAAO,KAAK;AAAA,UACV,MAAM,iBAAiB;AAAA,UACvB,OAAO;AAAA,YACL,MAAM;AAAA,UACP;AAAA,QACT,CAAO;AAAA,MACP,CAAK;AAAA,IACL;;;;;;;;;ACpJA,MAAM,YAAY,MAAM,OAAO;AAAA,EAC7B,iBAAiB;AAAA,EACjB,SAAS;AAAA,IACP,QAAQ;AAAA,IACR,gBAAgB;AAAA,EACjB;AAAA,EACD,SAAS;AACX,CAAC;AAED,IAAe,gBAAA;AAAA,EACb,QAAQ,SAAS,MAAM;AACrB,WAAO,UAAU,IAAI,GAAG,WAAW,UAAU;AAAA,EAC9C;AACH;ACbO,MAAM,aAAa;AAEnB,MAAM,QAAQ;AAAA,EACnB,OAAO,oBAAI,IAAK;AAAA,EAChB,QAAQ,oBAAI,IAAK;AAAA,EACjB,UAAU,oBAAI,IAAK;AAAA,EACnB,cAAc,oBAAI,IAAK;AAAA,EACvB,YAAY,oBAAI,IAAK;AACvB;AAEO,MAAM,YAAY;AAAA,EACvB,YAAY,QAAO,EAAE,UAAU,QAAQ;AACrC,QAAI,QAAQ,OAAM,MAAM,IAAI,QAAQ;AACpC,QAAI,CAAC,OAAO;AACV,cAAQ,CAAE;AAAA,IACX;AACD,UAAM,KAAK,IAAI;AACf,WAAM,MAAM,IAAI,UAAU,KAAK;AAAA,EAChC;AAAA,EACD,aAAa,QAAO,EAAE,UAAU,WAAW,WAAW;AACpD,QAAI,cAAc,OAAM,SAAS,IAAI,QAAQ;AAC7C,QAAI,CAAC,aAAa;AAChB,oBAAc,oBAAI,IAAK;AAAA,IACxB;AACD,gBAAY,IAAI,WAAW,OAAO;AAClC,WAAM,SAAS,IAAI,UAAU,WAAW;AAAA,EACzC;AAAA,EACD,gBAAgB,QAAO,EAAE,UAAU,MAAM;AACvC,WAAM,SAAS,IAAI,QAAQ,EAAE,OAAO,EAAE;AAAA,EACvC;AAAA,EAOD,mBAAmB,QAAO,EAAE,SAAS,UAAU,cAAc,aAAa;AACxE,UAAM,gBAAgB,OAAM,MAAM,IAAI,QAAQ;AAC9C,QAAI,CAAC,eAAe;AAClB,aAAM,MAAM,IAAI,UAAU,CAAA,CAAE;AAC5B,aAAM,OAAO,IAAI,UAAU,OAAO;AAClC,aAAM,aAAa,IAAI,UAAU,YAAY;AAC7C,aAAM,WAAW,IAAI,UAAU,SAAS;AACxC,aAAM,SAAS,IAAI,UAAU,oBAAI,IAAG,CAAE;AAAA,IACvC;AAAA,EACF;AACH;AAEO,MAAM,UAAU;AAAA,EACrB,UAAU,EAAE,QAAQ,qBAAW,SAAS;AACtC,UAAM,YAAY,QAAQ;AAC1B,UAAM,aAAa,QAAQ;AAC3B,UAAM,WAAW,QAAQ;AACzB,WAAO,sBAAsB;AAAA,MAC3B,SAAS;AAAA,MACT,UAAU;AAAA,MACV,cAAc,QAAQ;AAAA,MACtB,WAAW,QAAQ;AAAA,IACzB,CAAK;AACD,UAAM,eAAe,SAAQ,YAAY,YAAY,SAAS;AAC9D,QAAI,cAAc;AAChB,aAAO,QAAQ,QAAQ,YAAY;AAAA,IACpC;AACD,QAAI,SAAQ,WAAW,YAAY,SAAS,GAAG;AAC7C,aAAO,SAAQ,YAAY,YAAY,SAAS;AAAA,IACjD;AACD,UAAM,UAAU,cAAc,QAAQ,UAAU,SAAS,EACtD,KAAK,cAAY;AAChB,UAAI,SAAS,IAAI,UAAW;AAC5B,UAAI,SAAS,OAAO,gBAAgB,SAAS,MAAM,UAAU;AAC7D,YAAM,kBAAkB,OAAO,cAAc,UAAU;AACvD,aAAO,eAAe,EAAE,UAAU,YAAY,MAAM,iBAAiB;AACrE,aAAO,mBAAmB,EAAE,UAAU,YAAY,IAAI,WAAW;AACjE,aAAO;AAAA,IACf,CAAO,EACA,MAAM,MAAM;AACX,aAAO,mBAAmB,EAAE,UAAU,YAAY,IAAI,WAAW;AACjE,YAAM;AAAA,IACd,CAAO;AACH,WAAO,gBAAgB,EAAE,UAAU,YAAY,WAAW,SAAS;AACnE,WAAO;AAAA,EACR;AAOH;AAEO,MAAM,UAAU;AAAA,EACrB,aAAa,YAAS,CAAC,UAAU,OAAO;AACtC,WAAO,OAAM,MAAM,IAAI,QAAQ,EAAE,KAAK,UAAQ,KAAK,OAAO,EAAE;AAAA,EAC7D;AAAA,EACD,aAAa,YAAS,CAAC,UAAU,OAAO;AACtC,WAAO,OAAM,SAAS,IAAI,QAAQ,EAAE,IAAI,EAAE;AAAA,EAC3C;AAAA,EACD,YAAY,YAAS,CAAC,UAAU,OAAO;AACrC,WAAO,CAAC,CAAC,OAAM,SAAS,IAAI,QAAQ,EAAE,IAAI,EAAE;AAAA,EAC7C;AAAA,EACD,YAAY,YAAS,cAAY;AAC/B,WAAO,OAAM,OAAO,IAAI,QAAQ;AAAA,EACjC;AAAA,EACD,gBAAgB,YAAS,cAAY;AACnC,WAAO,OAAM,aAAa,IAAI,QAAQ;AAAA,EACvC;AAAA,EACD,cAAc,YAAS,cAAY;AACjC,WAAO,OAAM,WAAW,IAAI,QAAQ;AAAA,EACrC;AACH;;;;;;;;;ACzGA,8BAA8B,KAAK,UAAU,IAAI;AAC/C,MAAI,CAAC,QAAQ,OAAO;AAClB,UAAM;AAAA,EACP;AAED,UAAQ,MAAM,eAAe,UAAU,WAAW;AAClD,MAAI,IAAI,WAAW,QAAQ,KAAK;AAClC;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue3-sphinx-xml",
3
- "version": "0.1.0-beta.0",
3
+ "version": "0.1.0",
4
4
  "license": "Apache-2.0",
5
5
  "homepage": "https://github.com/hsorby/vue3-sphinx-xml#readme",
6
6
  "repository": {
@@ -19,7 +19,8 @@
19
19
  ],
20
20
  "module": "dist/vue3-sphinx-xml.es.js",
21
21
  "files": [
22
- "dist"
22
+ "dist",
23
+ "README.md"
23
24
  ],
24
25
  "scripts": {
25
26
  "build-package": "vite build"