From a3fdfba9c1dd50060294cf870d7c46e55fd37f01 Mon Sep 17 00:00:00 2001 From: Ben Munoz Date: Mon, 23 Sep 2024 21:34:30 -0400 Subject: [PATCH 1/2] feat: alert module docs --- package-lock.json | 9 +- .../zero-core/composables/highlight-code.md | 6 +- .../zero-core/composables/open-popup.md | 6 +- .../zero-core/composables/unslugify.md | 4 + .../content/zero-core/composables/uuid.md | 6 +- packages/docs/content/zero-core/example.md | 48 ++++++ .../zero-core/modules/accordion/store.md | 35 ---- .../zero-core/modules/alert/components.md | 40 ++++- .../modules/alert/components/zero-alert.md | 25 --- .../content/zero-core/modules/alert/store.md | 153 +++++++++++++----- .../alert/stores/use-zero-alert-store.md | 41 ----- .../zero-core/modules/auth/composables.md | 9 -- .../auth/stores/use-zero-auth-store.md | 141 +++++++--------- .../auth/stores/use-zero-role-store.md | 59 +++---- .../auth/stores/use-zero-workspace-store.md | 136 +++++++--------- .../content/zero-core/modules/button/store.md | 20 --- .../content/zero-core/modules/form/store.md | 65 -------- .../zero-core/modules/toaster/store.md | 23 --- .../zero-core/modules/websocket/plugins.md | 4 - .../zero-core/modules/websocket/store.md | 6 - packages/docs/content/zero-core/plugins.md | 19 --- .../docs/content/zero-core/use-zero-store.md | 17 -- packages/docs/generate.js | 85 +++++++++- packages/docs/package.json | 1 + .../modules/alert/components/zero-alert.vue | 32 ++++ .../alert/stores/use-zero-alert-store.js | 28 ++++ 26 files changed, 491 insertions(+), 527 deletions(-) create mode 100644 packages/docs/content/zero-core/composables/unslugify.md create mode 100644 packages/docs/content/zero-core/example.md delete mode 100644 packages/docs/content/zero-core/modules/alert/components/zero-alert.md delete mode 100644 packages/docs/content/zero-core/modules/alert/stores/use-zero-alert-store.md diff --git a/package-lock.json b/package-lock.json index b0b58da..792cadb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5927,7 +5927,6 @@ "version": "6.2.2", "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", - "dev": true, "engines": { "node": ">=12.17" } @@ -10849,7 +10848,6 @@ "version": "6.2.4", "resolved": "https://registry.npmjs.org/jsdoc-parse/-/jsdoc-parse-6.2.4.tgz", "integrity": "sha512-MQA+lCe3ioZd0uGbyB3nDCDZcKgKC7m/Ivt0LgKZdUoOlMJxUWJQ3WI6GeyHp9ouznKaCjlp7CU9sw5k46yZTw==", - "dev": true, "dependencies": { "array-back": "^6.2.2", "find-replace": "^5.0.1", @@ -10864,7 +10862,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-5.0.1.tgz", "integrity": "sha512-o5/Y8HrCNRuFF5rdNTkX8Vhv6kTFTV0t1zIoigwlCdbkA9qaapRzxvWPND2VvlFa9LBI05Q1i8ml/saMqkOJUQ==", - "dev": true, "dependencies": { "array-back": "^6.2.2" }, @@ -11284,8 +11281,7 @@ "node_modules/lodash.omit": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", - "integrity": "sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg==", - "dev": true + "integrity": "sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg==" }, "node_modules/lodash.padend": { "version": "4.6.1", @@ -16974,7 +16970,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/sort-array/-/sort-array-5.0.0.tgz", "integrity": "sha512-Sg9MzajSGprcSrMIxsXyNT0e0JB47RJRfJspC+7co4Z5BdNsNl8FmWI+lXEpyKq+vkMG6pHgAhqyCO+bkDTfFQ==", - "dev": true, "dependencies": { "array-back": "^6.2.2", "typical": "^7.1.1" @@ -16995,7 +16990,6 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/typical/-/typical-7.1.1.tgz", "integrity": "sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA==", - "dev": true, "engines": { "node": ">=12.17" } @@ -20437,6 +20431,7 @@ "version": "1.0.0", "dependencies": { "comment-parser": "^1.4.1", + "jsdoc-parse": "^6.2.4", "lru-cache": "^8.0.0", "vue-router": "^4.4.3" }, diff --git a/packages/docs/content/zero-core/composables/highlight-code.md b/packages/docs/content/zero-core/composables/highlight-code.md index 43aa26b..44df0a5 100644 --- a/packages/docs/content/zero-core/composables/highlight-code.md +++ b/packages/docs/content/zero-core/composables/highlight-code.md @@ -1,4 +1,4 @@ - +#### zeroHighlightCode() + + -## zeroHighlightCode() -**Kind**: global function diff --git a/packages/docs/content/zero-core/composables/open-popup.md b/packages/docs/content/zero-core/composables/open-popup.md index f8b3bca..82b39f6 100644 --- a/packages/docs/content/zero-core/composables/open-popup.md +++ b/packages/docs/content/zero-core/composables/open-popup.md @@ -1,4 +1,4 @@ - +#### zeroOpenPopup() + + -## zeroOpenPopup() -**Kind**: global function diff --git a/packages/docs/content/zero-core/composables/unslugify.md b/packages/docs/content/zero-core/composables/unslugify.md new file mode 100644 index 0000000..2244469 --- /dev/null +++ b/packages/docs/content/zero-core/composables/unslugify.md @@ -0,0 +1,4 @@ +#### exports() + + + diff --git a/packages/docs/content/zero-core/composables/uuid.md b/packages/docs/content/zero-core/composables/uuid.md index 9440657..2a07b76 100644 --- a/packages/docs/content/zero-core/composables/uuid.md +++ b/packages/docs/content/zero-core/composables/uuid.md @@ -1,4 +1,4 @@ - +#### zeroUuid() + + -## zeroUuid() -**Kind**: global function diff --git a/packages/docs/content/zero-core/example.md b/packages/docs/content/zero-core/example.md new file mode 100644 index 0000000..6d50305 --- /dev/null +++ b/packages/docs/content/zero-core/example.md @@ -0,0 +1,48 @@ + + + +# useZeroAlertStore +The alert store module + + +* [useZeroAlertStore](#module_useZeroAlertStore) + * [~alerts](#module_useZeroAlertStore..alerts) : Object + * [~setAlert()](#module_useZeroAlertStore..setAlert) + * [~getAlert()](#module_useZeroAlertStore..getAlert) + * [~removeAlert()](#module_useZeroAlertStore..removeAlert) + * [~updateAlertData()](#module_useZeroAlertStore..updateAlertData) + * [~openAlert()](#module_useZeroAlertStore..openAlert) + * [~closeAlert()](#module_useZeroAlertStore..closeAlert) + + + +## useZeroAlertStore~alerts : Object +An object that contains a nested objects for each [Alert component](/zero-core/modules/alert/components) instance. The top level key referencing each nested alert object is that alert's AlertId. + +**Kind**: inner ref of [useZeroAlertStore](#module_useZeroAlertStore) + + +## useZeroAlertStore~setAlert() +- set alert + +**Kind**: inner method of [useZeroAlertStore](#module_useZeroAlertStore) + + +## useZeroAlertStore~getAlert() +**Kind**: inner method of [useZeroAlertStore](#module_useZeroAlertStore) + + +## useZeroAlertStore~removeAlert() +**Kind**: inner method of [useZeroAlertStore](#module_useZeroAlertStore) + + +## useZeroAlertStore~updateAlertData() +**Kind**: inner method of [useZeroAlertStore](#module_useZeroAlertStore) + + +## useZeroAlertStore~openAlert() +**Kind**: inner method of [useZeroAlertStore](#module_useZeroAlertStore) + + +## useZeroAlertStore~closeAlert() +**Kind**: inner method of [useZeroAlertStore](#module_useZeroAlertStore) diff --git a/packages/docs/content/zero-core/modules/accordion/store.md b/packages/docs/content/zero-core/modules/accordion/store.md index 7e8b478..8b13789 100644 --- a/packages/docs/content/zero-core/modules/accordion/store.md +++ b/packages/docs/content/zero-core/modules/accordion/store.md @@ -1,36 +1 @@ -## Functions - -
-
setAccordion()
-
-
removeAccordion()
-
-
setAccordionSection()
-
-
toggleAccordionSection()
-
-
toggleAllSections()
-
-
- - - -## setAccordion() -**Kind**: global function - - -## removeAccordion() -**Kind**: global function - - -## setAccordionSection() -**Kind**: global function - - -## toggleAccordionSection() -**Kind**: global function - - -## toggleAllSections() -**Kind**: global function diff --git a/packages/docs/content/zero-core/modules/alert/components.md b/packages/docs/content/zero-core/modules/alert/components.md index 31d003c..4d87ea5 100644 --- a/packages/docs/content/zero-core/modules/alert/components.md +++ b/packages/docs/content/zero-core/modules/alert/components.md @@ -2,13 +2,39 @@ # Zero Alert - +This module uses the 'Alert' nomenclature in reference to the pop-up or modal-like nature of its component. It is a combination of a wrapper component (documented here) that renders its contents visible as a modal and a [store](/zero-core/modules/alert/store) which tracks the existence and states of all modals. Before the component mounts, it will register a tracking object with its own ID and closed state in the Alert store. ## Props | Prop | type | description | values | | ---- | ---- | ----------- | ------ | -| `alertId` | string | | | +| `alertId` | string | An identifier for this Alert. Should be unique across all instances. | | + +## Computed properties + +#### alert() + + +Returns the alert object associated with this component instance from the [Alert store](/zero-core/modules/alert/store#alerts). + + + - **returns:** `Object` + +#### open() + + +Test indicating if this alert is currently open. + + + - **returns:** `boolean` + +#### data() + + +Returns data associated with this alert. + + + - **returns:** `any` ## Slots @@ -17,10 +43,13 @@ **name:** `default` **scoped:** `true` + +The Alert contents to render as a modal. + | binding | type | description | | ------- | ---- | ----------- | -| `close-alert` | | | -| `data` | | | +| `close-alert` | `func` | The component's [closeAlert](/zero-core/modules/alert/components#closealert) method. | +| `data` | `any` | The alert data associated with this component and stored in the [Alert store](/zero-core/modules/alert/store). | ## Emitters @@ -30,3 +59,6 @@ ## Methods #### closeAlert() + + +Closes this alert by calling the Alert Store [closeAlert](/zero-core/modules/alert/store#closealert) method. diff --git a/packages/docs/content/zero-core/modules/alert/components/zero-alert.md b/packages/docs/content/zero-core/modules/alert/components/zero-alert.md deleted file mode 100644 index 5f86d28..0000000 --- a/packages/docs/content/zero-core/modules/alert/components/zero-alert.md +++ /dev/null @@ -1,25 +0,0 @@ -# Zero Alert - - - - -## Props - -| Prop | type | description | values | -| ---- | ---- | ----------- | ------ | -| `alertId` | string | | | - -## Slots - -| name | scoped | bindings | -| ---- | ------ | -------- | -| default | `true` | `close-alert` `data` | - -### Emitters - - - - completed - undefined - -## Methods - -##### closeAlert() diff --git a/packages/docs/content/zero-core/modules/alert/store.md b/packages/docs/content/zero-core/modules/alert/store.md index 7e84858..fe2e109 100644 --- a/packages/docs/content/zero-core/modules/alert/store.md +++ b/packages/docs/content/zero-core/modules/alert/store.md @@ -1,42 +1,113 @@ -## Functions - -
-
setAlert()
-
-
getAlert()
-
-
removeAlert()
-
-
updateAlertData()
-
-
openAlert()
-
-
closeAlert()
-
-
- - - -## setAlert() -**Kind**: global function - - -## getAlert() -**Kind**: global function - - -## removeAlert() -**Kind**: global function - - -## updateAlertData() -**Kind**: global function - - -## openAlert() -**Kind**: global function - - -## closeAlert() -**Kind**: global function +# useZeroAlertStore() + + +A store that registers [Alert component](/zero-core/modules/alert/components) instances, records their open/closed states and contains methods to update them. + +## Data + + + - [alerts](#alerts) + +## Methods + + + - [setAlert()](#setalert) + - [getAlert()](#getalert) + - [removeAlert()](#removealert) + - [updateAlertData()](#updatealertdata) + - [openAlert()](#openalert) + - [closeAlert()](#closealert) + +## All Members + +#### alerts + + +**type:** `Object` + + +An object that maps alert IDs to nested tracking objects for each [Alert component](/zero-core/modules/alert/components) instance. The top level key referencing each nested alert object is that alert's AlertId. + + +**Kind:** inner ref of [useZeroAlertStore](#usezeroalertstore) + +#### setAlert() + + +Register an alert instance. + + +**Kind:** inner method of [useZeroAlertStore](#usezeroalertstore) + +| param | type | description | +| ----- | ---- | ----------- | +| `payload` | Object | A tracking object containing data about an alert instance. | +| `payload.id` | string | The Alert ID. | +| `payload.status` | string | The status of the alert; either `open` or `closed`. | +| `payload.data`(optional) | any | Data to associate with the alert. | + +#### getAlert() + + +Returns a single alert object stored at a key in the [alerts](#alerts) map. + + +**Kind:** inner method of [useZeroAlertStore](#usezeroalertstore) + +| param | type | description | +| ----- | ---- | ----------- | +| `alertId` | string | The ID of the alert object to retrieve. | + + + - **Returns:** `Object` + +#### removeAlert() + + +Removes an alert mapping from the [alerts](#alerts) map. + + +**Kind:** inner method of [useZeroAlertStore](#usezeroalertstore) + +| param | type | description | +| ----- | ---- | ----------- | +| `alertId` | string | The ID of the alert object to remove. | + +#### updateAlertData() + + +Updates the `data` key of an alert object. + + +**Kind:** inner method of [useZeroAlertStore](#usezeroalertstore) + +| param | type | description | +| ----- | ---- | ----------- | +| `alertId` | string | The ID of the alert object to update. | +| `payload` | any | Data to save to the `data` key of the alert object. | + +#### openAlert() + + +Sets the status of an alert to 'open'. + + +**Kind:** inner method of [useZeroAlertStore](#usezeroalertstore) + +| param | type | description | +| ----- | ---- | ----------- | +| `alertId` | string | The ID of the alert object to update. | +| `data`(optional) | any | Data to save to the `data` key of the alert object. | + +#### closeAlert() + + +Sets the status of an alert to 'closed'. Sets the alert's `data` key to `null`. + + +**Kind:** inner method of [useZeroAlertStore](#usezeroalertstore) + +| param | type | description | +| ----- | ---- | ----------- | +| `alertId` | string | The ID of the alert object to update. | diff --git a/packages/docs/content/zero-core/modules/alert/stores/use-zero-alert-store.md b/packages/docs/content/zero-core/modules/alert/stores/use-zero-alert-store.md deleted file mode 100644 index 30c46ac..0000000 --- a/packages/docs/content/zero-core/modules/alert/stores/use-zero-alert-store.md +++ /dev/null @@ -1,41 +0,0 @@ -## Functions - -
-
setAlert()
-
-
getAlert()
-
-
removeAlert()
-
-
updateAlertData()
-
-
openAlert()
-
-
closeAlert()
-
-
- - - -## setAlert() -**Kind**: global function - - -## getAlert() -**Kind**: global function - - -## removeAlert() -**Kind**: global function - - -## updateAlertData() -**Kind**: global function - - -## openAlert() -**Kind**: global function - - -## closeAlert() -**Kind**: global function diff --git a/packages/docs/content/zero-core/modules/auth/composables.md b/packages/docs/content/zero-core/modules/auth/composables.md index efaf7c2..584ba87 100644 --- a/packages/docs/content/zero-core/modules/auth/composables.md +++ b/packages/docs/content/zero-core/modules/auth/composables.md @@ -8,12 +8,3 @@ - - -## useSetSettings -**Kind**: global constant - -| Param | Type | Description | -| --- | --- | --- | -| location | 'backend' \| 'client' \| 'universal' | defines where to set the setting - 'backend' (default): only on the backend - 'client': only on the client - 'universal': on both the client and the backend | - diff --git a/packages/docs/content/zero-core/modules/auth/stores/use-zero-auth-store.md b/packages/docs/content/zero-core/modules/auth/stores/use-zero-auth-store.md index cefbec2..9008f66 100644 --- a/packages/docs/content/zero-core/modules/auth/stores/use-zero-auth-store.md +++ b/packages/docs/content/zero-core/modules/auth/stores/use-zero-auth-store.md @@ -1,98 +1,75 @@ -## Functions - -
-
setAuthState()
-
-
setSession()
-
-
setNavPaths()
-

Record the to and from navigation objects. -This is recorded in the nav-paths.js middleware and is used to keep track -of the last visited path before navigating to a new one. If redirected to -login page, logging in again will bring user back to this path.

-
-
getUser()
-
-
setUser()
-
-
updateUser()
-
-
getUserWorkspaceInviteList()
-
-
updateUserWorkspaceInvite()
-
-
acceptWorkspaceInvite()
-
-
rejectWorkspaceInvite()
-
-
leaveWorkspace()
-
-
makeWorkspacePrimary()
-
-
toggleShortcuts()
-
-
updateShortcuts()
-
-
- - - -## setAuthState() -**Kind**: global function - - -## setSession() -**Kind**: global function - - -## setNavPaths() +#### setAuthState() + + + + +#### setSession() + + + + +#### setNavPaths() + + Record the `to` and `from` navigation objects. + This is recorded in the nav-paths.js middleware and is used to keep track + of the last visited path before navigating to a new one. If redirected to + login page, logging in again will bring user back to this path. -**Kind**: global function - +#### getUser() + + + + +#### setUser() + + + + +#### updateUser() + + + + +#### getUserWorkspaceInviteList() + + + + +#### updateUserWorkspaceInvite() + + + + +#### acceptWorkspaceInvite() + + + + +#### rejectWorkspaceInvite() + + + + +#### leaveWorkspace() + + + + +#### makeWorkspacePrimary() -## getUser() -**Kind**: global function - -## setUser() -**Kind**: global function - -## updateUser() -**Kind**: global function - -## getUserWorkspaceInviteList() -**Kind**: global function - +#### toggleShortcuts() -## updateUserWorkspaceInvite() -**Kind**: global function - -## acceptWorkspaceInvite() -**Kind**: global function - -## rejectWorkspaceInvite() -**Kind**: global function - -## leaveWorkspace() -**Kind**: global function - +#### updateShortcuts() -## makeWorkspacePrimary() -**Kind**: global function - -## toggleShortcuts() -**Kind**: global function - -## updateShortcuts() -**Kind**: global function diff --git a/packages/docs/content/zero-core/modules/auth/stores/use-zero-role-store.md b/packages/docs/content/zero-core/modules/auth/stores/use-zero-role-store.md index 3672bef..a1edc36 100644 --- a/packages/docs/content/zero-core/modules/auth/stores/use-zero-role-store.md +++ b/packages/docs/content/zero-core/modules/auth/stores/use-zero-role-store.md @@ -1,35 +1,24 @@ -## Functions - -
-
updateMemberRole()
-
-
updateRolePermission()
-
-
updateRole()
-
-
createRole()
-
-
deleteRole()
-
-
- - - -## updateMemberRole() -**Kind**: global function - - -## updateRolePermission() -**Kind**: global function - - -## updateRole() -**Kind**: global function - - -## createRole() -**Kind**: global function - - -## deleteRole() -**Kind**: global function +#### updateMemberRole() + + + + +#### updateRolePermission() + + + + +#### updateRole() + + + + +#### createRole() + + + + +#### deleteRole() + + + diff --git a/packages/docs/content/zero-core/modules/auth/stores/use-zero-workspace-store.md b/packages/docs/content/zero-core/modules/auth/stores/use-zero-workspace-store.md index 9e574c9..64d68d8 100644 --- a/packages/docs/content/zero-core/modules/auth/stores/use-zero-workspace-store.md +++ b/packages/docs/content/zero-core/modules/auth/stores/use-zero-workspace-store.md @@ -1,77 +1,59 @@ -## Functions - -
-
getWorkspace()
-
-
updateWorkspace()
-
-
uploadWorkspaceAvatar()
-
-
setWorkspace()
-
-
getWorkspaceList()
-
-
checkWorkspaceExists()
-
-
createWorkspace()
-
-
getWorkspaceInviteList()
-
-
createWorkspaceInvite()
-
-
updateWorkspaceInvite()
-
-
revokeWorkspaceInvite()
-
-
removeMemberFromWorkspace()
-
-
- - - -## getWorkspace() -**Kind**: global function - - -## updateWorkspace() -**Kind**: global function - - -## uploadWorkspaceAvatar() -**Kind**: global function - - -## setWorkspace() -**Kind**: global function - - -## getWorkspaceList() -**Kind**: global function - - -## checkWorkspaceExists() -**Kind**: global function - - -## createWorkspace() -**Kind**: global function - - -## getWorkspaceInviteList() -**Kind**: global function - - -## createWorkspaceInvite() -**Kind**: global function - - -## updateWorkspaceInvite() -**Kind**: global function - - -## revokeWorkspaceInvite() -**Kind**: global function - - -## removeMemberFromWorkspace() -**Kind**: global function +#### getWorkspace() + + + + +#### updateWorkspace() + + + + +#### uploadWorkspaceAvatar() + + + + +#### setWorkspace() + + + + +#### getWorkspaceList() + + + + +#### checkWorkspaceExists() + + + + +#### createWorkspace() + + + + +#### getWorkspaceInviteList() + + + + +#### createWorkspaceInvite() + + + + +#### updateWorkspaceInvite() + + + + +#### revokeWorkspaceInvite() + + + + +#### removeMemberFromWorkspace() + + + diff --git a/packages/docs/content/zero-core/modules/button/store.md b/packages/docs/content/zero-core/modules/button/store.md index 84e24b3..8b13789 100644 --- a/packages/docs/content/zero-core/modules/button/store.md +++ b/packages/docs/content/zero-core/modules/button/store.md @@ -1,21 +1 @@ -## Functions - -
-
setButton()
-

Sets a button in the global buttons object to the incoming payload.

-
-
removeButton()
-
-
- - - -## setButton() -Sets a button in the global buttons object to the incoming payload. - -**Kind**: global function - - -## removeButton() -**Kind**: global function diff --git a/packages/docs/content/zero-core/modules/form/store.md b/packages/docs/content/zero-core/modules/form/store.md index 51a252a..8b13789 100644 --- a/packages/docs/content/zero-core/modules/form/store.md +++ b/packages/docs/content/zero-core/modules/form/store.md @@ -1,66 +1 @@ -## Functions - -
-
registerModel ----------------------------------------------------------------------------()
-
-
updateModel ----------------------------------------------------------------------------()
-
-
setField ----------------------------------------------------------------------------()
-
-
removeField ----------------------------------------------------------------------------()
-
-
setFormSaveState ----------------------------------------------------------------------------()
-
-
removeFormSaveState ----------------------------------------------------------------------------()
-
-
- - - -## registerModel ----------------------------------------------------------------------------() -**Kind**: global function - - -## updateModel ----------------------------------------------------------------------------() -**Kind**: global function - - -## setField ----------------------------------------------------------------------------() -**Kind**: global function - - -## removeField ----------------------------------------------------------------------------() -**Kind**: global function - - -## setFormSaveState ----------------------------------------------------------------------------() -**Kind**: global function - - -## removeFormSaveState ----------------------------------------------------------------------------() -**Kind**: global function diff --git a/packages/docs/content/zero-core/modules/toaster/store.md b/packages/docs/content/zero-core/modules/toaster/store.md index 406ce90..8b13789 100644 --- a/packages/docs/content/zero-core/modules/toaster/store.md +++ b/packages/docs/content/zero-core/modules/toaster/store.md @@ -1,24 +1 @@ -## Functions - -
-
addMessage()
-
-
removeMessage()
-
-
updateToast()
-
-
- - - -## addMessage() -**Kind**: global function - - -## removeMessage() -**Kind**: global function - - -## updateToast() -**Kind**: global function diff --git a/packages/docs/content/zero-core/modules/websocket/plugins.md b/packages/docs/content/zero-core/modules/websocket/plugins.md index 69217db..8b13789 100644 --- a/packages/docs/content/zero-core/modules/websocket/plugins.md +++ b/packages/docs/content/zero-core/modules/websocket/plugins.md @@ -1,5 +1 @@ - - -## connect() -**Kind**: global function diff --git a/packages/docs/content/zero-core/modules/websocket/store.md b/packages/docs/content/zero-core/modules/websocket/store.md index 3158b3d..8b13789 100644 --- a/packages/docs/content/zero-core/modules/websocket/store.md +++ b/packages/docs/content/zero-core/modules/websocket/store.md @@ -1,7 +1 @@ - - -## setWebsocketConnection ----------------------------------------------------------------------------() -**Kind**: global function diff --git a/packages/docs/content/zero-core/plugins.md b/packages/docs/content/zero-core/plugins.md index e841f84..b28b04f 100644 --- a/packages/docs/content/zero-core/plugins.md +++ b/packages/docs/content/zero-core/plugins.md @@ -1,22 +1,3 @@ - -## Bus() -Test - -**Kind**: global function - - - - -## seo(key, override) -Looks up Seo data using the supplied identifier and adds data to the -document head tag via Nuxt's useHead composable - -**Kind**: global function - -| Param | Type | Description | -| --- | --- | --- | -| key | string \| undefined | The key to search in the Seo Content Object. | -| override | Object | An object of meta tag key/value overrides | diff --git a/packages/docs/content/zero-core/use-zero-store.md b/packages/docs/content/zero-core/use-zero-store.md index cecec5e..8b13789 100644 --- a/packages/docs/content/zero-core/use-zero-store.md +++ b/packages/docs/content/zero-core/use-zero-store.md @@ -1,18 +1 @@ -## Functions - -
-
setClipboard()
-
-
setSeo()
-
-
- - - -## setClipboard() -**Kind**: global function - - -## setSeo() -**Kind**: global function diff --git a/packages/docs/generate.js b/packages/docs/generate.js index 49ea7fb..fc33f4d 100644 --- a/packages/docs/generate.js +++ b/packages/docs/generate.js @@ -4,6 +4,7 @@ import fs from 'fs' import Jsdoc2Md from 'jsdoc-to-markdown' import Json2Md from 'json2md' import VueDocs from './plugins/vue-docgen-api-rewrite.cjs' +import dmd from 'dmd' import { capitalCase } from 'change-case' const SRC_PATH = '../zero-core' @@ -104,8 +105,8 @@ const trimDescription = (desc) => { // ----------------------------------------------------------------- parseJsFile const parseJsFile = async (path) => { - return new Promise((resolve, reject) => { - Jsdoc2Md.render({ files: path }) + return await new Promise((resolve, reject) => { + Jsdoc2Md.getTemplateData({ files: path }) .then((data) => { resolve(data) }) .catch((err) => { console.log(err) @@ -126,6 +127,7 @@ const parseVueFile = async (path) => { }) } +// ------------------------------------------------------- formatPropDescription const formatPropDescription = prop => { let desc = prop.description if (!desc) { @@ -156,6 +158,7 @@ const getEventTags = evt => { return '' } +// --------------------------------------------------------- getMarkdownElements const getMarkdownElements = (methods, isComputed = false) => { if (!Array.isArray(methods)) { return [] @@ -199,8 +202,70 @@ const getMarkdownElements = (methods, isComputed = false) => { return [] } -// ---------------------------------------------------- populateMarkdownTemplate -const populateMarkdownTemplate = async (data) => { +// ---------------------------------------------------- populateJsFileMdTemplate +const populateJsFileMdTemplate = async data => { + const toConvert = [] + if (Array.isArray(data) && data.length) { + const moduleData = data.find(item => item.kind === 'module') + if (moduleData) { + // console.log(data) + const moduleName = moduleData.name + const title = moduleName.startsWith('use') ? moduleName + '()' : moduleName + toConvert.push({ h1: title }, { p: trimDescription(moduleData.description || '') }) + const membersData = data.filter(item => item.kind !== 'module' && item.kind !== 'function') + const methodsData = data.filter(item => item.kind === 'function') + + if (membersData.length) { + toConvert.push({ h2: 'Data' }, { ul: membersData.map(item => `[${item.name}](#${item.name.toLowerCase()})`)}) + } + + if (methodsData.length) { + toConvert.push({ h2: 'Methods' }, { ul: methodsData.map(item => `[${item.name}()](#${item.name.toLowerCase()})`)}) + } + + if (membersData.length || methodsData.length) { + toConvert.push({ h2: 'All Members '}) + } + + const members = membersData.map(item => ([ + { h4: item.name }, + { p: item.type?.names?.length ? `**type:** \`${item.type.names.join('|')}\`` : '' }, + { p: trimDescription(item.description || '') }, + { p: `**Kind:** ${item.scope} ${item.kind === 'function' ? 'method' : item.kind} of [${moduleName}](#${moduleName.toLowerCase()})` } + ])) + toConvert.push(...members) + + const methods = methodsData.map(item => { + const elements = [ + { h4: item.name + '()' }, + { p: trimDescription(item.description || '') }, + { p: `**Kind:** ${item.scope} ${item.kind === 'function' ? 'method' : item.kind} of [${moduleName}](#${moduleName.toLowerCase()})` } + ] + if (item.params?.length) { + elements.push({ + table: { + headers: ['param', 'type', 'description'], + rows: item.params.map(param => ({ + param: `\`${param.name}\`${param.optional ? '(optional)' : '' }`, + type: param.type.names.join('|'), + description: trimDescription(param.description || '') + })) + } + }) + } + if (item.returns?.length) { + elements.push({ ul: item.returns.map(rtn => `**Returns:** \`${rtn.type.names.join('|')}\``)}) + } + return elements + }) + toConvert.push(...methods) + } + } + return Json2Md(toConvert) +} + +// ---------------------------------------------- populateVueComponentMdTemplate +const populateVueComponentMdTemplate = async (data) => { const props = data.props?.length ? [ { @@ -322,10 +387,11 @@ const concatenateContentsToMarkdown = async (dir, filename) => { let data = '' const ext = entry.split('.')[1] if (ext === 'js') { - data = await parseJsFile(path) + const parsed = await parseJsFile(path) + data = await populateJsFileMdTemplate(parsed) } else if (ext === 'vue') { const parsed = await parseVueFile(path) - data = await populateMarkdownTemplate(parsed) + data = await populateVueComponentMdTemplate(parsed) } concatenated = concatenated + '\n' + data } @@ -350,12 +416,15 @@ const parseDirectoryContents = async dir => { if (ext === 'js') { const parsed = await parseJsFile(path) if (parsed) { - await writeMdFile(dest, parsed) + const md = await populateJsFileMdTemplate(parsed) + if (md) { + await writeMdFile(dest, md) + } } } else if (ext === 'vue') { const parsed = await parseVueFile(path) if (parsed) { - const md = await populateMarkdownTemplate(parsed) + const md = await populateVueComponentMdTemplate(parsed) if (md) { await writeMdFile(dest, md) } diff --git a/packages/docs/package.json b/packages/docs/package.json index 5f3d3c2..e152b3b 100644 --- a/packages/docs/package.json +++ b/packages/docs/package.json @@ -21,6 +21,7 @@ }, "dependencies": { "comment-parser": "^1.4.1", + "jsdoc-parse": "^6.2.4", "lru-cache": "^8.0.0", "vue-router": "^4.4.3" } diff --git a/packages/zero-core/modules/alert/components/zero-alert.vue b/packages/zero-core/modules/alert/components/zero-alert.vue index 59c801e..fed903f 100644 --- a/packages/zero-core/modules/alert/components/zero-alert.vue +++ b/packages/zero-core/modules/alert/components/zero-alert.vue @@ -1,6 +1,11 @@