fcad-core-dragon 2.1.1 → 2.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.editorconfig +7 -7
- package/.gitlab-ci.yml +124 -0
- package/.prettierrc +11 -11
- package/.vscode/extensions.json +8 -8
- package/.vscode/settings.json +46 -16
- package/CHANGELOG +520 -520
- package/README.md +57 -57
- package/documentation/.vitepress/config.js +114 -114
- package/documentation/api-examples.md +49 -49
- package/documentation/composants/app-base-button.md +58 -58
- package/documentation/composants/app-base-error-display.md +59 -59
- package/documentation/composants/app-base-popover.md +68 -68
- package/documentation/composants/app-comp-audio.md +75 -75
- package/documentation/composants/app-comp-branch-buttons.md +111 -111
- package/documentation/composants/app-comp-button-progress.md +53 -53
- package/documentation/composants/app-comp-carousel.md +53 -53
- package/documentation/composants/app-comp-container.md +53 -53
- package/documentation/composants/app-comp-input-checkbox-next.md +42 -42
- package/documentation/composants/app-comp-input-dropdown-next.md +34 -34
- package/documentation/composants/app-comp-input-radio-next.md +39 -39
- package/documentation/composants/app-comp-input-text-next.md +35 -35
- package/documentation/composants/app-comp-input-text-table-next.md +34 -34
- package/documentation/composants/app-comp-input-text-to-fill-dropdown-next.md +53 -53
- package/documentation/composants/app-comp-input-text-to-fill-next.md +31 -31
- package/documentation/composants/app-comp-jauge.md +31 -31
- package/documentation/composants/app-comp-menu-item.md +55 -55
- package/documentation/composants/app-comp-menu.md +29 -29
- package/documentation/composants/app-comp-navigation.md +41 -41
- package/documentation/composants/app-comp-note-call.md +53 -53
- package/documentation/composants/app-comp-note-credit.md +53 -53
- package/documentation/composants/app-comp-play-bar-next.md +53 -53
- package/documentation/composants/app-comp-pop-up-next.md +93 -93
- package/documentation/composants/app-comp-quiz-next.md +235 -235
- package/documentation/composants/app-comp-quiz-recall.md +53 -53
- package/documentation/composants/app-comp-svg-next.md +53 -53
- package/documentation/composants/app-comp-table-of-content.md +50 -50
- package/documentation/composants/app-comp-video-player.md +82 -82
- package/documentation/composants.md +46 -46
- package/documentation/composants_critiques/ModelPageComposant.md +53 -53
- package/documentation/composants_critiques/app-base-module.md +43 -43
- package/documentation/composants_critiques/app-base-page.md +48 -48
- package/documentation/composants_critiques/app-base.md +311 -311
- package/documentation/composants_critiques/main.md +15 -15
- package/documentation/demarrage.md +50 -50
- package/documentation/deploiement.md +57 -57
- package/documentation/index.md +33 -33
- package/documentation/markdown-examples.md +85 -85
- package/documentation/public/vite.svg +14 -14
- package/documentation/public/vuejs.svg +1 -1
- package/documentation/public/vuetify.svg +5 -5
- package/eslint.config.js +60 -60
- package/junit-report.xml +182 -0
- package/package.json +66 -59
- package/playwright/index.html +12 -0
- package/playwright/index.js +21 -0
- package/playwright-ct.config.js +95 -0
- package/src/$locales/en.json +157 -157
- package/src/$locales/fr.json +120 -120
- package/src/assets/data/onboardingMessages.json +47 -47
- package/src/components/AppBase.vue +1171 -1169
- package/src/components/AppBaseButton.vue +90 -95
- package/src/components/AppBaseErrorDisplay.vue +438 -438
- package/src/components/AppBaseFlipCard.vue +84 -84
- package/src/components/AppBaseModule.vue +1639 -1634
- package/src/components/AppBasePage.vue +867 -866
- package/src/components/AppBasePopover.vue +41 -41
- package/src/components/AppBaseSkeleton.vue +66 -66
- package/src/components/AppCompAudio.vue +261 -256
- package/src/components/AppCompBranchButtons.vue +508 -508
- package/src/components/AppCompButtonProgress.vue +137 -132
- package/src/components/AppCompCarousel.vue +342 -336
- package/src/components/AppCompContainer.vue +29 -29
- package/src/components/AppCompInputCheckBoxNx.vue +325 -323
- package/src/components/AppCompInputDropdownNx.vue +302 -299
- package/src/components/AppCompInputRadioNx.vue +287 -284
- package/src/components/AppCompInputTextNx.vue +156 -153
- package/src/components/AppCompInputTextTableNx.vue +205 -202
- package/src/components/AppCompInputTextToFillDropdownNx.vue +343 -340
- package/src/components/AppCompInputTextToFillNx.vue +316 -313
- package/src/components/AppCompJauge.vue +81 -81
- package/src/components/AppCompMenu.vue +6 -1
- package/src/components/AppCompMenuItem.vue +246 -240
- package/src/components/AppCompNavigation.vue +977 -972
- package/src/components/AppCompNoteCall.vue +167 -161
- package/src/components/AppCompNoteCredit.vue +496 -491
- package/src/components/AppCompPlayBarNext.vue +2290 -2288
- package/src/components/AppCompPopUpNext.vue +508 -504
- package/src/components/AppCompQuizNext.vue +515 -510
- package/src/components/AppCompQuizRecall.vue +355 -350
- package/src/components/AppCompSVGNext.vue +346 -346
- package/src/components/AppCompSettingsMenu.vue +177 -172
- package/src/components/AppCompTableOfContent.vue +433 -427
- package/src/components/AppCompVideoPlayer.vue +377 -377
- package/src/components/AppCompViewDisplay.vue +6 -6
- package/src/components/BaseModule.vue +55 -55
- package/src/composables/useIdleDetector.js +56 -56
- package/src/composables/useQuiz.js +89 -89
- package/src/composables/useTimer.js +172 -172
- package/src/directives/nvdaFix.js +53 -53
- package/src/externalComps/ModuleView.vue +22 -22
- package/src/externalComps/SummaryView.vue +91 -91
- package/src/main.js +493 -476
- package/src/module/stores/appStore.js +960 -947
- package/src/module/xapi/ADL.js +520 -520
- package/src/module/xapi/Crypto/Hasher.js +241 -241
- package/src/module/xapi/Crypto/WordArray.js +278 -278
- package/src/module/xapi/Crypto/algorithms/BufferedBlockAlgorithm.js +103 -103
- package/src/module/xapi/Crypto/algorithms/C_algo.js +315 -315
- package/src/module/xapi/Crypto/algorithms/HMAC.js +9 -9
- package/src/module/xapi/Crypto/algorithms/SHA1.js +9 -9
- package/src/module/xapi/Crypto/encoders/Base.js +105 -105
- package/src/module/xapi/Crypto/encoders/Base64.js +99 -99
- package/src/module/xapi/Crypto/encoders/Hex.js +61 -61
- package/src/module/xapi/Crypto/encoders/Latin1.js +61 -61
- package/src/module/xapi/Crypto/encoders/Utf8.js +45 -45
- package/src/module/xapi/Crypto/index.js +53 -53
- package/src/module/xapi/Statement/activity.js +47 -47
- package/src/module/xapi/Statement/agent.js +55 -55
- package/src/module/xapi/Statement/group.js +26 -26
- package/src/module/xapi/Statement/index.js +259 -259
- package/src/module/xapi/Statement/statement.js +253 -253
- package/src/module/xapi/Statement/statementRef.js +23 -23
- package/src/module/xapi/Statement/substatement.js +22 -22
- package/src/module/xapi/Statement/verb.js +36 -36
- package/src/module/xapi/activitytypes.js +17 -17
- package/src/module/xapi/launch.js +157 -157
- package/src/module/xapi/utils.js +167 -167
- package/src/module/xapi/verbs.js +294 -294
- package/src/module/xapi/wrapper.js +1895 -1895
- package/src/module/xapi/xapiStatement.js +444 -444
- package/src/plugins/analytics.js +34 -34
- package/src/plugins/bus.js +12 -8
- package/src/plugins/gsap.js +17 -17
- package/src/plugins/helper.js +355 -358
- package/src/plugins/i18n.js +27 -26
- package/src/plugins/idb.js +227 -227
- package/src/plugins/save.js +37 -37
- package/src/plugins/scorm.js +287 -287
- package/src/plugins/xapi.js +11 -11
- package/src/public/index.html +33 -33
- package/src/router/index.js +57 -57
- package/src/router/routes.js +312 -312
- package/src/shared/generalfuncs.js +344 -344
- package/src/shared/validators.js +1018 -1018
- package/tests/component/AppBaseButton.spec.js +53 -0
- package/tests/component/pinia.spec.js +24 -0
- package/{src/components/tests__ → tests/unit}/AppBaseButton.spec.js +53 -53
- package/tests/unit/AppCompInputCheckBoxNx.spec.js +59 -0
- package/tests/unit/AppCompInputDropdownNx.spec.js +51 -0
- package/tests/unit/AppCompInputRadioNx.spec.js +59 -0
- package/tests/unit/AppCompInputTextNx.spec.js +44 -0
- package/tests/unit/AppCompInputTextTableNx.spec.js +77 -0
- package/tests/unit/AppCompInputTextToFillDropdownNx.spec.js +60 -0
- package/tests/unit/AppCompInputTextToFillNx.spec.js +45 -0
- package/tests/unit/AppCompQuizNext.spec.js +114 -0
- package/tests/unit/AppCompVideoPlayer.spec.js +177 -0
- package/{src/components/tests__ → tests/unit}/useTimer.spec.js +91 -91
- package/vitest.config.js +28 -19
- package/vitest.setup.js +28 -0
- package/src/components/AppBaseButton.test.js +0 -21
package/README.md
CHANGED
|
@@ -1,57 +1,57 @@
|
|
|
1
|
-
```
|
|
2
|
-
.. ..
|
|
3
|
-
oec : dF dF
|
|
4
|
-
@88888 '88bu. u. .u . '88bu. .u . u. u. u.
|
|
5
|
-
8"*88% . u '*88888bu . ...ue888b .d88B :@8c .u '*88888bu .d88B :@8c u uL ...ue888b x@88k u@88c.
|
|
6
|
-
8b. .udR88N us888u. ^"*8888N .udR88N 888R Y888r ="8888f8888r ud8888. ^"*8888N ="8888f8888r us888u. .ue888Nc.. 888R Y888r ^"8888""8888"
|
|
7
|
-
u888888> <888'888k .@88 "8888" beWE "888L <888'888k 888R I888> 4888>'88" :888'8888. beWE "888L 4888>'88" .@88 "8888" d88E`"888E` 888R I888> 8888 888R
|
|
8
|
-
8888R 9888 'Y" 9888 9888 888E 888E 9888 'Y" 888R I888> 4888> ' d888 '88%" 888E 888E 4888> ' 9888 9888 888E 888E 888R I888> 8888 888R
|
|
9
|
-
8888P 9888 9888 9888 888E 888E 9888 888R I888> 4888> 8888.+" 888E 888E 4888> 9888 9888 888E 888E 888R I888> 8888 888R
|
|
10
|
-
*888> 9888 9888 9888 888E 888F 88888888 9888 u8888cJ888 .d888L .+ 8888L 88888888 888E 888F .d888L .+ 9888 9888 888E 888E u8888cJ888 8888 888R
|
|
11
|
-
4888 ?8888u../ 9888 9888 .888N..888 88888888 ?8888u../ "*888*P" ^"8888*" '8888c. .+ 88888888 .888N..888 ^"8888*" 9888 9888 888& .888E "*888*P" "*88*" 8888"
|
|
12
|
-
'888 "8888P' "888*""888" `"888*"" "8888P' 'Y" "Y" "88888% `"888*"" "Y" "888*""888" *888" 888& 'Y" "" 'Y"
|
|
13
|
-
88R "P' ^Y" ^Y' "" "P' "YP' "" ^Y" ^Y' `" "888E
|
|
14
|
-
88> .dWi `88E
|
|
15
|
-
48 4888~ J8%
|
|
16
|
-
'8 ^"===*"`
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
## Development
|
|
20
|
-
|
|
21
|
-
### Install dependencies
|
|
22
|
-
|
|
23
|
-
```
|
|
24
|
-
npm install
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
### Install yalc and nodemon globally
|
|
28
|
-
|
|
29
|
-
```
|
|
30
|
-
npm install yalc nodemon -g
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
### Publish to the yalc store on file change (monitors js,vue,html,json filetypes)
|
|
34
|
-
|
|
35
|
-
```
|
|
36
|
-
npm run watch
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
### Open a terminal in your target project and link fcad-core-dragon from the yalc store
|
|
40
|
-
|
|
41
|
-
```
|
|
42
|
-
npm link fcad-core-dragon
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
### Prepare a build for production (lands in dist folder)
|
|
46
|
-
|
|
47
|
-
```
|
|
48
|
-
npm run build
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
### Lints and fixes files
|
|
52
|
-
|
|
53
|
-
```
|
|
54
|
-
npm run lint
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
For more information check the [documentation](https://fcaddocumentation.netlify.app/)
|
|
1
|
+
```
|
|
2
|
+
.. ..
|
|
3
|
+
oec : dF dF
|
|
4
|
+
@88888 '88bu. u. .u . '88bu. .u . u. u. u.
|
|
5
|
+
8"*88% . u '*88888bu . ...ue888b .d88B :@8c .u '*88888bu .d88B :@8c u uL ...ue888b x@88k u@88c.
|
|
6
|
+
8b. .udR88N us888u. ^"*8888N .udR88N 888R Y888r ="8888f8888r ud8888. ^"*8888N ="8888f8888r us888u. .ue888Nc.. 888R Y888r ^"8888""8888"
|
|
7
|
+
u888888> <888'888k .@88 "8888" beWE "888L <888'888k 888R I888> 4888>'88" :888'8888. beWE "888L 4888>'88" .@88 "8888" d88E`"888E` 888R I888> 8888 888R
|
|
8
|
+
8888R 9888 'Y" 9888 9888 888E 888E 9888 'Y" 888R I888> 4888> ' d888 '88%" 888E 888E 4888> ' 9888 9888 888E 888E 888R I888> 8888 888R
|
|
9
|
+
8888P 9888 9888 9888 888E 888E 9888 888R I888> 4888> 8888.+" 888E 888E 4888> 9888 9888 888E 888E 888R I888> 8888 888R
|
|
10
|
+
*888> 9888 9888 9888 888E 888F 88888888 9888 u8888cJ888 .d888L .+ 8888L 88888888 888E 888F .d888L .+ 9888 9888 888E 888E u8888cJ888 8888 888R
|
|
11
|
+
4888 ?8888u../ 9888 9888 .888N..888 88888888 ?8888u../ "*888*P" ^"8888*" '8888c. .+ 88888888 .888N..888 ^"8888*" 9888 9888 888& .888E "*888*P" "*88*" 8888"
|
|
12
|
+
'888 "8888P' "888*""888" `"888*"" "8888P' 'Y" "Y" "88888% `"888*"" "Y" "888*""888" *888" 888& 'Y" "" 'Y"
|
|
13
|
+
88R "P' ^Y" ^Y' "" "P' "YP' "" ^Y" ^Y' `" "888E
|
|
14
|
+
88> .dWi `88E
|
|
15
|
+
48 4888~ J8%
|
|
16
|
+
'8 ^"===*"`
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Development
|
|
20
|
+
|
|
21
|
+
### Install dependencies
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
npm install
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Install yalc and nodemon globally
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
npm install yalc nodemon -g
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Publish to the yalc store on file change (monitors js,vue,html,json filetypes)
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
npm run watch
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Open a terminal in your target project and link fcad-core-dragon from the yalc store
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
npm link fcad-core-dragon
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Prepare a build for production (lands in dist folder)
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
npm run build
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Lints and fixes files
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
npm run lint
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
For more information check the [documentation](https://fcaddocumentation.netlify.app/)
|
|
@@ -1,114 +1,114 @@
|
|
|
1
|
-
import { defineConfig } from 'vitepress'
|
|
2
|
-
|
|
3
|
-
// https://vitepress.dev/reference/site-config
|
|
4
|
-
export default defineConfig({
|
|
5
|
-
title: 'FCAD 2',
|
|
6
|
-
description: 'La documentation technique du FCAD 2',
|
|
7
|
-
ignoreDeadLinks: true,
|
|
8
|
-
themeConfig: {
|
|
9
|
-
/* il8n */
|
|
10
|
-
lang: 'fr-CA',
|
|
11
|
-
outline: {
|
|
12
|
-
label: 'Contenu de la page'
|
|
13
|
-
},
|
|
14
|
-
docFooter: {
|
|
15
|
-
prev: 'Page précédente',
|
|
16
|
-
next: 'Page suivante'
|
|
17
|
-
},
|
|
18
|
-
darkModeSwitchTitle : 'Activer le thème sombre',
|
|
19
|
-
lightModeSwitchTitle : 'Activer le thème clair',
|
|
20
|
-
lastUpdated: {
|
|
21
|
-
text: 'Dernière modification ',
|
|
22
|
-
formatOptions: {
|
|
23
|
-
dateStyle: 'short',
|
|
24
|
-
timeStyle: 'short'
|
|
25
|
-
}
|
|
26
|
-
},
|
|
27
|
-
search: {
|
|
28
|
-
provider: 'local',
|
|
29
|
-
options:{
|
|
30
|
-
locales: {
|
|
31
|
-
root: {
|
|
32
|
-
translations: {
|
|
33
|
-
button: {
|
|
34
|
-
buttonText: 'Recherche',
|
|
35
|
-
buttonAriaLabel: 'Recherche'
|
|
36
|
-
},
|
|
37
|
-
modal: {
|
|
38
|
-
displayDetails: 'Afficher la vue détaillée',
|
|
39
|
-
resetButtonTitle: 'Réinitialiser',
|
|
40
|
-
backButtonTitle: 'Retour',
|
|
41
|
-
noResultsText: 'Aucun résultat trouvé pour',
|
|
42
|
-
footer: {
|
|
43
|
-
selectText: 'accéder à la page',
|
|
44
|
-
navigateText: 'parcourir les résultats',
|
|
45
|
-
closeText: 'quitter la recherche',
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
/* END - il8n */
|
|
54
|
-
|
|
55
|
-
nav: [
|
|
56
|
-
{ text: 'Accueil', link: '/' },
|
|
57
|
-
{ text: 'Démarrage', link: '/demarrage' },
|
|
58
|
-
{ text: 'Composants', link: '/composants' },
|
|
59
|
-
{ text: 'Déploiement', link: '/deploiement' },
|
|
60
|
-
// { text: 'Examples', link: '/markdown-examples' }
|
|
61
|
-
],
|
|
62
|
-
sidebar: [
|
|
63
|
-
{ text: 'Composants critiques',
|
|
64
|
-
collapsed: true,
|
|
65
|
-
items: [
|
|
66
|
-
{ text: 'app-base', link: '/composants_critiques/app-base' },
|
|
67
|
-
{ text: 'app-base-module', link: '/composants_critiques/app-base-module' },
|
|
68
|
-
{ text: 'app-base-page', link: '/composants_critiques/app-base-page' },
|
|
69
|
-
{ text: 'main', link: '/composants_critiques/main' },
|
|
70
|
-
]
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
text: 'Tous les composants',
|
|
74
|
-
collapsed: true,
|
|
75
|
-
items: [
|
|
76
|
-
{ text: 'app-base-button', link: '/composants/app-base-button' },
|
|
77
|
-
{ text: 'app-base-error-display', link: '/composants/app-base-error-display' },
|
|
78
|
-
{ text: 'app-base-popover', link: '/composants/app-base-popover' },
|
|
79
|
-
{ text: 'app-comp-audio', link: '/composants/app-comp-audio' },
|
|
80
|
-
{ text: 'app-comp-branch-buttons', link: '/composants/app-comp-branch-buttons' },
|
|
81
|
-
{ text: 'app-comp-button-progress', link: '/composants/app-comp-button-progress' },
|
|
82
|
-
{ text: 'app-comp-carousel', link: '/composants/app-comp-carousel' },
|
|
83
|
-
{ text: 'app-comp-container', link: '/composants/app-comp-container' },
|
|
84
|
-
{ text: 'app-comp-input-checkbox-next', link: '/composants/app-comp-input-checkbox-next' },
|
|
85
|
-
{ text: 'app-comp-input-dropdown-next', link: '/composants/app-comp-input-dropdown-next' },
|
|
86
|
-
{ text: 'app-comp-input-radio-next', link: '/composants/app-comp-input-radio-next' },
|
|
87
|
-
{ text: 'app-comp-input-text-next', link: '/composants/app-comp-input-text-next' },
|
|
88
|
-
{ text: 'app-comp-input-text-table-next', link: '/composants/app-comp-input-text-table-next' },
|
|
89
|
-
{ text: 'app-comp-input-text-to-fill-dropdown-next', link: '/composants/app-comp-input-text-to-fill-dropdown-next' },
|
|
90
|
-
{ text: 'app-comp-input-text-to-fill-next', link: '/composants/app-comp-input-text-to-fill-next' },
|
|
91
|
-
{ text: 'app-comp-jauge', link: '/composants/app-comp-jauge' },
|
|
92
|
-
{ text: 'app-comp-menu', link: '/composants/app-comp-menu' },
|
|
93
|
-
{ text: 'app-comp-menu-item', link: '/composants/app-comp-menu-item' },
|
|
94
|
-
{ text: 'app-comp-navigation', link: '/composants/app-comp-navigation' },
|
|
95
|
-
{ text: 'app-comp-note-call', link: '/composants/app-comp-note-call' },
|
|
96
|
-
{ text: 'app-comp-note-credit', link: '/composants/app-comp-note-credit' },
|
|
97
|
-
{ text: 'app-comp-play-bar-next', link: '/composants/app-comp-play-bar-next' },
|
|
98
|
-
{ text: 'app-comp-play-bar-progress', link: '/composants/app-comp-play-bar-progress' },
|
|
99
|
-
{ text: 'app-comp-pop-up-next', link: '/composants/app-comp-pop-up-next' },
|
|
100
|
-
{ text: 'app-comp-quiz-next', link: '/composants/app-comp-quiz-next' },
|
|
101
|
-
{ text: 'app-comp-quiz-recall', link: '/composants/app-comp-quiz-recall' },
|
|
102
|
-
// { text: 'app-comp-settings-menu', link: '/composants/app-comp-settings-menu' },
|
|
103
|
-
{ text: 'app-comp-svg-next', link: '/composants/app-comp-svg-next' },
|
|
104
|
-
{ text: 'app-comp-table-of-content', link: '/composants/app-comp-table-of-content' },
|
|
105
|
-
{ text: 'app-comp-video-player', link: '/composants/app-comp-video-player' },
|
|
106
|
-
]
|
|
107
|
-
}
|
|
108
|
-
],
|
|
109
|
-
|
|
110
|
-
socialLinks: [
|
|
111
|
-
{ icon: 'gitlab', link: 'https://git.crosemont.qc.ca/fcad/core/fcad-core-2' }
|
|
112
|
-
]
|
|
113
|
-
}
|
|
114
|
-
})
|
|
1
|
+
import { defineConfig } from 'vitepress'
|
|
2
|
+
|
|
3
|
+
// https://vitepress.dev/reference/site-config
|
|
4
|
+
export default defineConfig({
|
|
5
|
+
title: 'FCAD 2',
|
|
6
|
+
description: 'La documentation technique du FCAD 2',
|
|
7
|
+
ignoreDeadLinks: true,
|
|
8
|
+
themeConfig: {
|
|
9
|
+
/* il8n */
|
|
10
|
+
lang: 'fr-CA',
|
|
11
|
+
outline: {
|
|
12
|
+
label: 'Contenu de la page'
|
|
13
|
+
},
|
|
14
|
+
docFooter: {
|
|
15
|
+
prev: 'Page précédente',
|
|
16
|
+
next: 'Page suivante'
|
|
17
|
+
},
|
|
18
|
+
darkModeSwitchTitle : 'Activer le thème sombre',
|
|
19
|
+
lightModeSwitchTitle : 'Activer le thème clair',
|
|
20
|
+
lastUpdated: {
|
|
21
|
+
text: 'Dernière modification ',
|
|
22
|
+
formatOptions: {
|
|
23
|
+
dateStyle: 'short',
|
|
24
|
+
timeStyle: 'short'
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
search: {
|
|
28
|
+
provider: 'local',
|
|
29
|
+
options:{
|
|
30
|
+
locales: {
|
|
31
|
+
root: {
|
|
32
|
+
translations: {
|
|
33
|
+
button: {
|
|
34
|
+
buttonText: 'Recherche',
|
|
35
|
+
buttonAriaLabel: 'Recherche'
|
|
36
|
+
},
|
|
37
|
+
modal: {
|
|
38
|
+
displayDetails: 'Afficher la vue détaillée',
|
|
39
|
+
resetButtonTitle: 'Réinitialiser',
|
|
40
|
+
backButtonTitle: 'Retour',
|
|
41
|
+
noResultsText: 'Aucun résultat trouvé pour',
|
|
42
|
+
footer: {
|
|
43
|
+
selectText: 'accéder à la page',
|
|
44
|
+
navigateText: 'parcourir les résultats',
|
|
45
|
+
closeText: 'quitter la recherche',
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
/* END - il8n */
|
|
54
|
+
|
|
55
|
+
nav: [
|
|
56
|
+
{ text: 'Accueil', link: '/' },
|
|
57
|
+
{ text: 'Démarrage', link: '/demarrage' },
|
|
58
|
+
{ text: 'Composants', link: '/composants' },
|
|
59
|
+
{ text: 'Déploiement', link: '/deploiement' },
|
|
60
|
+
// { text: 'Examples', link: '/markdown-examples' }
|
|
61
|
+
],
|
|
62
|
+
sidebar: [
|
|
63
|
+
{ text: 'Composants critiques',
|
|
64
|
+
collapsed: true,
|
|
65
|
+
items: [
|
|
66
|
+
{ text: 'app-base', link: '/composants_critiques/app-base' },
|
|
67
|
+
{ text: 'app-base-module', link: '/composants_critiques/app-base-module' },
|
|
68
|
+
{ text: 'app-base-page', link: '/composants_critiques/app-base-page' },
|
|
69
|
+
{ text: 'main', link: '/composants_critiques/main' },
|
|
70
|
+
]
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
text: 'Tous les composants',
|
|
74
|
+
collapsed: true,
|
|
75
|
+
items: [
|
|
76
|
+
{ text: 'app-base-button', link: '/composants/app-base-button' },
|
|
77
|
+
{ text: 'app-base-error-display', link: '/composants/app-base-error-display' },
|
|
78
|
+
{ text: 'app-base-popover', link: '/composants/app-base-popover' },
|
|
79
|
+
{ text: 'app-comp-audio', link: '/composants/app-comp-audio' },
|
|
80
|
+
{ text: 'app-comp-branch-buttons', link: '/composants/app-comp-branch-buttons' },
|
|
81
|
+
{ text: 'app-comp-button-progress', link: '/composants/app-comp-button-progress' },
|
|
82
|
+
{ text: 'app-comp-carousel', link: '/composants/app-comp-carousel' },
|
|
83
|
+
{ text: 'app-comp-container', link: '/composants/app-comp-container' },
|
|
84
|
+
{ text: 'app-comp-input-checkbox-next', link: '/composants/app-comp-input-checkbox-next' },
|
|
85
|
+
{ text: 'app-comp-input-dropdown-next', link: '/composants/app-comp-input-dropdown-next' },
|
|
86
|
+
{ text: 'app-comp-input-radio-next', link: '/composants/app-comp-input-radio-next' },
|
|
87
|
+
{ text: 'app-comp-input-text-next', link: '/composants/app-comp-input-text-next' },
|
|
88
|
+
{ text: 'app-comp-input-text-table-next', link: '/composants/app-comp-input-text-table-next' },
|
|
89
|
+
{ text: 'app-comp-input-text-to-fill-dropdown-next', link: '/composants/app-comp-input-text-to-fill-dropdown-next' },
|
|
90
|
+
{ text: 'app-comp-input-text-to-fill-next', link: '/composants/app-comp-input-text-to-fill-next' },
|
|
91
|
+
{ text: 'app-comp-jauge', link: '/composants/app-comp-jauge' },
|
|
92
|
+
{ text: 'app-comp-menu', link: '/composants/app-comp-menu' },
|
|
93
|
+
{ text: 'app-comp-menu-item', link: '/composants/app-comp-menu-item' },
|
|
94
|
+
{ text: 'app-comp-navigation', link: '/composants/app-comp-navigation' },
|
|
95
|
+
{ text: 'app-comp-note-call', link: '/composants/app-comp-note-call' },
|
|
96
|
+
{ text: 'app-comp-note-credit', link: '/composants/app-comp-note-credit' },
|
|
97
|
+
{ text: 'app-comp-play-bar-next', link: '/composants/app-comp-play-bar-next' },
|
|
98
|
+
{ text: 'app-comp-play-bar-progress', link: '/composants/app-comp-play-bar-progress' },
|
|
99
|
+
{ text: 'app-comp-pop-up-next', link: '/composants/app-comp-pop-up-next' },
|
|
100
|
+
{ text: 'app-comp-quiz-next', link: '/composants/app-comp-quiz-next' },
|
|
101
|
+
{ text: 'app-comp-quiz-recall', link: '/composants/app-comp-quiz-recall' },
|
|
102
|
+
// { text: 'app-comp-settings-menu', link: '/composants/app-comp-settings-menu' },
|
|
103
|
+
{ text: 'app-comp-svg-next', link: '/composants/app-comp-svg-next' },
|
|
104
|
+
{ text: 'app-comp-table-of-content', link: '/composants/app-comp-table-of-content' },
|
|
105
|
+
{ text: 'app-comp-video-player', link: '/composants/app-comp-video-player' },
|
|
106
|
+
]
|
|
107
|
+
}
|
|
108
|
+
],
|
|
109
|
+
|
|
110
|
+
socialLinks: [
|
|
111
|
+
{ icon: 'gitlab', link: 'https://git.crosemont.qc.ca/fcad/core/fcad-core-2' }
|
|
112
|
+
]
|
|
113
|
+
}
|
|
114
|
+
})
|
|
@@ -1,49 +1,49 @@
|
|
|
1
|
-
---
|
|
2
|
-
outline: deep
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# Runtime API Examples
|
|
6
|
-
|
|
7
|
-
This page demonstrates usage of some of the runtime APIs provided by VitePress.
|
|
8
|
-
|
|
9
|
-
The main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:
|
|
10
|
-
|
|
11
|
-
```md
|
|
12
|
-
<script setup>
|
|
13
|
-
import { useData } from 'vitepress'
|
|
14
|
-
|
|
15
|
-
const { theme, page, frontmatter } = useData()
|
|
16
|
-
</script>
|
|
17
|
-
|
|
18
|
-
## Results
|
|
19
|
-
|
|
20
|
-
### Theme Data
|
|
21
|
-
<pre>{{ theme }}</pre>
|
|
22
|
-
|
|
23
|
-
### Page Data
|
|
24
|
-
<pre>{{ page }}</pre>
|
|
25
|
-
|
|
26
|
-
### Page Frontmatter
|
|
27
|
-
<pre>{{ frontmatter }}</pre>
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
<script setup>
|
|
31
|
-
import { useData } from 'vitepress'
|
|
32
|
-
|
|
33
|
-
const { site, theme, page, frontmatter } = useData()
|
|
34
|
-
</script>
|
|
35
|
-
|
|
36
|
-
## Results
|
|
37
|
-
|
|
38
|
-
### Theme Data
|
|
39
|
-
<pre>{{ theme }}</pre>
|
|
40
|
-
|
|
41
|
-
### Page Data
|
|
42
|
-
<pre>{{ page }}</pre>
|
|
43
|
-
|
|
44
|
-
### Page Frontmatter
|
|
45
|
-
<pre>{{ frontmatter }}</pre>
|
|
46
|
-
|
|
47
|
-
## More
|
|
48
|
-
|
|
49
|
-
Check out the documentation for the [full list of runtime APIs](https://vitepress.dev/reference/runtime-api#usedata).
|
|
1
|
+
---
|
|
2
|
+
outline: deep
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Runtime API Examples
|
|
6
|
+
|
|
7
|
+
This page demonstrates usage of some of the runtime APIs provided by VitePress.
|
|
8
|
+
|
|
9
|
+
The main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:
|
|
10
|
+
|
|
11
|
+
```md
|
|
12
|
+
<script setup>
|
|
13
|
+
import { useData } from 'vitepress'
|
|
14
|
+
|
|
15
|
+
const { theme, page, frontmatter } = useData()
|
|
16
|
+
</script>
|
|
17
|
+
|
|
18
|
+
## Results
|
|
19
|
+
|
|
20
|
+
### Theme Data
|
|
21
|
+
<pre>{{ theme }}</pre>
|
|
22
|
+
|
|
23
|
+
### Page Data
|
|
24
|
+
<pre>{{ page }}</pre>
|
|
25
|
+
|
|
26
|
+
### Page Frontmatter
|
|
27
|
+
<pre>{{ frontmatter }}</pre>
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
<script setup>
|
|
31
|
+
import { useData } from 'vitepress'
|
|
32
|
+
|
|
33
|
+
const { site, theme, page, frontmatter } = useData()
|
|
34
|
+
</script>
|
|
35
|
+
|
|
36
|
+
## Results
|
|
37
|
+
|
|
38
|
+
### Theme Data
|
|
39
|
+
<pre>{{ theme }}</pre>
|
|
40
|
+
|
|
41
|
+
### Page Data
|
|
42
|
+
<pre>{{ page }}</pre>
|
|
43
|
+
|
|
44
|
+
### Page Frontmatter
|
|
45
|
+
<pre>{{ frontmatter }}</pre>
|
|
46
|
+
|
|
47
|
+
## More
|
|
48
|
+
|
|
49
|
+
Check out the documentation for the [full list of runtime APIs](https://vitepress.dev/reference/runtime-api#usedata).
|
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
# Bouton de base
|
|
2
|
-
|
|
3
|
-
Pour tous les boutons dans votre application, utiliser le bouton du FCAD.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
## Aperçu
|
|
8
|
-
|
|
9
|
-
Le FCAD génère un bouton à l'appel de la balise `<app-base-button/>`. Vous pouvez lui appliquer le style désiré en lui ajoutant une classe et/ou un *id*. Permet d'exécuter toute **Fonction** qui lui sera associée.
|
|
10
|
-
|
|
11
|
-
## Référence du composant
|
|
12
|
-
|
|
13
|
-
**AppBaseButton**
|
|
14
|
-
`<app-base-button/>`
|
|
15
|
-
|
|
16
|
-
## Comportement
|
|
17
|
-
|
|
18
|
-
De base le composant s'attend à exécuter une fonction. Il déclenche toutes les actions associées et émet l'évènement `click` (écoutable dans toute l'application). L'élément qui a été cliqué est aussi retourné en référence. Au clique, le bouton ajoute ou retire la classe `isClick` (qui peut servir pour créer un effet de toggle).
|
|
19
|
-
|
|
20
|
-
::: danger 👁️ Attention!
|
|
21
|
-
|
|
22
|
-
Le bouton ne réagit pas au hover. Le bouton retourne l'information qu'au clique. Si vous développez un composant réactif au hover. Prenez cette information en compte
|
|
23
|
-
|
|
24
|
-
:::
|
|
25
|
-
|
|
26
|
-
::: tip 💡 Note
|
|
27
|
-
Lorsque vous utilisez le bouton dans le développement d'un composant, pensez à rajouter son libellé au dictionnaire.
|
|
28
|
-
:::
|
|
29
|
-
|
|
30
|
-
## Paramètre
|
|
31
|
-
|
|
32
|
-
Voici les éléments paramétrables du bouton.
|
|
33
|
-
|
|
34
|
-
| Propriété | Type | Description | valeur par défaut | modifiable |
|
|
35
|
-
|:----------|:-----------------|:-----------------------------------------------------------------------------------------------------------------------------------|:-------|:-------------|
|
|
36
|
-
| name | Props type String | Nom du bouton pour les lecteurs d'écran ce label est fourni par le dictionnaire de l'application et devrait être le même que le label du bouton | Si vide : Bouton | oui |
|
|
37
|
-
| type | String | Type d'élément html | button | non |
|
|
38
|
-
| class | String | Toutes les classes par défaut du bouton. Si vous désirez en ajouter, ajoutez les lors de l'appelle du composant | btn | non |
|
|
39
|
-
| :class | Object | Classe réactive selon les actions demandées | isClick | non |
|
|
40
|
-
| :disabled | Props type boolean | Donne état **disabled** au bouton. Utiliser pour désactiver le bouton. Attribut important pour les lecteurs d'écran. | false | non |
|
|
41
|
-
| @click | function | Fonction qui émet le clique et retourne l'élément cliqué | click | non |
|
|
42
|
-
|
|
43
|
-
### Évènements
|
|
44
|
-
|
|
45
|
-
`click`: Événement native émit lorsqu’un bouton actif est cliqué. Retourne l'élément cliqué en référence.
|
|
46
|
-
|
|
47
|
-
`focus`: Événement native émit lorsqu’un bouton actif est en focus. Retourne l'élément en référence.
|
|
48
|
-
|
|
49
|
-
## Style
|
|
50
|
-
|
|
51
|
-
`.btn`[class]
|
|
52
|
-
|
|
53
|
-
Par défaut, le composant n'a que la classe `btn`, qui sert à tous les boutons de base de l'application. L'ajout de classe et *id* pour modifier son style devront être ajouter à l'appelle du composant.
|
|
54
|
-
|
|
55
|
-
## Accessibilité
|
|
56
|
-
|
|
57
|
-
Le bouton de base vient avec un niveau d'accessibilité de base. Lors de son usage utilisez ces [paramètres](#parametre) pour respecter le critère du WCAG.
|
|
58
|
-
|
|
1
|
+
# Bouton de base
|
|
2
|
+
|
|
3
|
+
Pour tous les boutons dans votre application, utiliser le bouton du FCAD.
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
## Aperçu
|
|
8
|
+
|
|
9
|
+
Le FCAD génère un bouton à l'appel de la balise `<app-base-button/>`. Vous pouvez lui appliquer le style désiré en lui ajoutant une classe et/ou un *id*. Permet d'exécuter toute **Fonction** qui lui sera associée.
|
|
10
|
+
|
|
11
|
+
## Référence du composant
|
|
12
|
+
|
|
13
|
+
**AppBaseButton**
|
|
14
|
+
`<app-base-button/>`
|
|
15
|
+
|
|
16
|
+
## Comportement
|
|
17
|
+
|
|
18
|
+
De base le composant s'attend à exécuter une fonction. Il déclenche toutes les actions associées et émet l'évènement `click` (écoutable dans toute l'application). L'élément qui a été cliqué est aussi retourné en référence. Au clique, le bouton ajoute ou retire la classe `isClick` (qui peut servir pour créer un effet de toggle).
|
|
19
|
+
|
|
20
|
+
::: danger 👁️ Attention!
|
|
21
|
+
|
|
22
|
+
Le bouton ne réagit pas au hover. Le bouton retourne l'information qu'au clique. Si vous développez un composant réactif au hover. Prenez cette information en compte
|
|
23
|
+
|
|
24
|
+
:::
|
|
25
|
+
|
|
26
|
+
::: tip 💡 Note
|
|
27
|
+
Lorsque vous utilisez le bouton dans le développement d'un composant, pensez à rajouter son libellé au dictionnaire.
|
|
28
|
+
:::
|
|
29
|
+
|
|
30
|
+
## Paramètre
|
|
31
|
+
|
|
32
|
+
Voici les éléments paramétrables du bouton.
|
|
33
|
+
|
|
34
|
+
| Propriété | Type | Description | valeur par défaut | modifiable |
|
|
35
|
+
|:----------|:-----------------|:-----------------------------------------------------------------------------------------------------------------------------------|:-------|:-------------|
|
|
36
|
+
| name | Props type String | Nom du bouton pour les lecteurs d'écran ce label est fourni par le dictionnaire de l'application et devrait être le même que le label du bouton | Si vide : Bouton | oui |
|
|
37
|
+
| type | String | Type d'élément html | button | non |
|
|
38
|
+
| class | String | Toutes les classes par défaut du bouton. Si vous désirez en ajouter, ajoutez les lors de l'appelle du composant | btn | non |
|
|
39
|
+
| :class | Object | Classe réactive selon les actions demandées | isClick | non |
|
|
40
|
+
| :disabled | Props type boolean | Donne état **disabled** au bouton. Utiliser pour désactiver le bouton. Attribut important pour les lecteurs d'écran. | false | non |
|
|
41
|
+
| @click | function | Fonction qui émet le clique et retourne l'élément cliqué | click | non |
|
|
42
|
+
|
|
43
|
+
### Évènements
|
|
44
|
+
|
|
45
|
+
`click`: Événement native émit lorsqu’un bouton actif est cliqué. Retourne l'élément cliqué en référence.
|
|
46
|
+
|
|
47
|
+
`focus`: Événement native émit lorsqu’un bouton actif est en focus. Retourne l'élément en référence.
|
|
48
|
+
|
|
49
|
+
## Style
|
|
50
|
+
|
|
51
|
+
`.btn`[class]
|
|
52
|
+
|
|
53
|
+
Par défaut, le composant n'a que la classe `btn`, qui sert à tous les boutons de base de l'application. L'ajout de classe et *id* pour modifier son style devront être ajouter à l'appelle du composant.
|
|
54
|
+
|
|
55
|
+
## Accessibilité
|
|
56
|
+
|
|
57
|
+
Le bouton de base vient avec un niveau d'accessibilité de base. Lors de son usage utilisez ces [paramètres](#parametre) pour respecter le critère du WCAG.
|
|
58
|
+
|