@spw-ds/spw-stencil-library 1.2.5 → 1.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/spw-field-label_6.cjs.entry.js +2 -2
- package/dist/cjs/spw-header-navigation-item.cjs.entry.js +1 -1
- package/dist/cjs/spw-header-navigation-item.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-header-navigation-item.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-header-navigation.cjs.entry.js +10 -2
- package/dist/cjs/spw-header-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-header-navigation.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-search-field.cjs.entry.js +65 -11
- package/dist/cjs/spw-search-field.cjs.entry.js.map +1 -1
- package/dist/cjs/spw-search-field.entry.cjs.js.map +1 -1
- package/dist/cjs/spw-sidebar-navigation-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/spw-sidebar-navigation-item.cjs.entry.js +3 -3
- package/dist/cjs/spw-sidebar-navigation-separator.cjs.entry.js +1 -1
- package/dist/cjs/spw-sidebar.cjs.entry.js +1 -1
- package/dist/cjs/spw-skeleton.cjs.entry.js +1 -1
- package/dist/cjs/spw-socials.cjs.entry.js +1 -1
- package/dist/cjs/spw-stencil-library.cjs.js +1 -1
- package/dist/cjs/spw-table-body.cjs.entry.js +1 -1
- package/dist/cjs/spw-table-cell.cjs.entry.js +1 -1
- package/dist/cjs/spw-table-footer.cjs.entry.js +1 -1
- package/dist/cjs/spw-table-head.cjs.entry.js +1 -1
- package/dist/cjs/spw-table-header.cjs.entry.js +2 -2
- package/dist/cjs/spw-table-row.cjs.entry.js +1 -1
- package/dist/cjs/spw-tabs-navigation-item.cjs.entry.js +1 -1
- package/dist/cjs/spw-tabs-navigation.cjs.entry.js +1 -1
- package/dist/cjs/spw-tabs.cjs.entry.js +1 -1
- package/dist/cjs/spw-tag.cjs.entry.js +1 -1
- package/dist/cjs/spw-text-field.cjs.entry.js +1 -1
- package/dist/cjs/spw-textarea.cjs.entry.js +1 -1
- package/dist/cjs/spw-tile-description.cjs.entry.js +1 -1
- package/dist/cjs/spw-tile-title.cjs.entry.js +1 -1
- package/dist/cjs/spw-tile.cjs.entry.js +1 -1
- package/dist/cjs/spw-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/spw-topbar.cjs.entry.js +1 -1
- package/dist/cjs/spw-wizard-item.cjs.entry.js +1 -1
- package/dist/cjs/spw-wizard.cjs.entry.js +1 -1
- package/dist/cjs/utils-D_vNTY6w.js.map +1 -1
- package/dist/collection/components/spw-header/spw-header-navigation/spw-header-navigation.css +1 -1
- package/dist/collection/components/spw-header/spw-header-navigation/spw-header-navigation.js +33 -1
- package/dist/collection/components/spw-header/spw-header-navigation/spw-header-navigation.js.map +1 -1
- package/dist/collection/components/spw-header/spw-header-navigation-item/spw-header-navigation-item.css +1 -1
- package/dist/collection/components/spw-search-field/spw-search-field.css +1 -1
- package/dist/collection/components/spw-search-field/spw-search-field.js +200 -10
- package/dist/collection/components/spw-search-field/spw-search-field.js.map +1 -1
- package/dist/collection/components/spw-separator/spw-separator.js +1 -1
- package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-dropdown/spw-sidebar-navigation-dropdown.js +1 -1
- package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-item/spw-sidebar-navigation-item.js +3 -3
- package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-separator/spw-sidebar-navigation-separator.js +1 -1
- package/dist/collection/components/spw-sidebar/spw-sidebar.js +1 -1
- package/dist/collection/components/spw-skeleton/spw-skeleton.js +1 -1
- package/dist/collection/components/spw-socials/spw-socials.js +1 -1
- package/dist/collection/components/spw-table/spw-table-body/spw-table-body.js +1 -1
- package/dist/collection/components/spw-table/spw-table-cell/spw-table-cell.js +1 -1
- package/dist/collection/components/spw-table/spw-table-footer/spw-table-footer.js +1 -1
- package/dist/collection/components/spw-table/spw-table-head/spw-table-head.js +1 -1
- package/dist/collection/components/spw-table/spw-table-header/spw-table-header.js +2 -2
- package/dist/collection/components/spw-table/spw-table-row/spw-table-row.js +1 -1
- package/dist/collection/components/spw-tabs/spw-tabs-navigation/spw-tabs-navigation.js +1 -1
- package/dist/collection/components/spw-tabs/spw-tabs-navigation-item/spw-tabs-navigation-item.js +1 -1
- package/dist/collection/components/spw-tabs/spw-tabs.js +1 -1
- package/dist/collection/components/spw-tag/spw-tag.js +1 -1
- package/dist/collection/components/spw-text-field/spw-text-field.js +1 -1
- package/dist/collection/components/spw-textarea/spw-textarea.js +1 -1
- package/dist/collection/components/spw-theme-provider/spw-theme-provider.js +1 -1
- package/dist/collection/components/spw-tile/spw-tile-description/spw-tile-description.js +1 -1
- package/dist/collection/components/spw-tile/spw-tile-title/spw-tile-title.js +1 -1
- package/dist/collection/components/spw-tile/spw-tile.js +1 -1
- package/dist/collection/components/spw-tooltip/spw-tooltip.js +1 -1
- package/dist/collection/components/spw-topbar/spw-topbar.js +1 -1
- package/dist/collection/components/spw-wizard/spw-wizard-item/spw-wizard-item.js +1 -1
- package/dist/collection/components/spw-wizard/spw-wizard.js +1 -1
- package/dist/collection/stories/components/spw-breadcrumb/spw-breadcrumb.stories.js +3 -2
- package/dist/collection/stories/components/spw-breadcrumb/spw-breadcrumb.stories.js.map +1 -1
- package/dist/collection/stories/components/spw-pagination/spw-pagination.stories.js +11 -31
- package/dist/collection/stories/components/spw-pagination/spw-pagination.stories.js.map +1 -1
- package/dist/collection/stories/components/spw-search-field/spw-search-field.stories.js +106 -11
- package/dist/collection/stories/components/spw-search-field/spw-search-field.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-card/spw-card.stories.js +5 -2
- package/dist/collection/stories/organisms/spw-card/spw-card.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-header/spw-header.stories.js +1 -1
- package/dist/collection/stories/organisms/spw-header/spw-header.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-list/spw-list.stories.js +1 -1
- package/dist/collection/stories/organisms/spw-list/spw-list.stories.js.map +1 -1
- package/dist/collection/stories/organisms/spw-tile/spw-tile.stories.js +1 -1
- package/dist/collection/stories/organisms/spw-tile/spw-tile.stories.js.map +1 -1
- package/dist/collection/utils/utils.js +5 -4
- package/dist/collection/utils/utils.js.map +1 -1
- package/dist/components/p-BBi01mKM.js.map +1 -1
- package/dist/components/{p-B2toBmC2.js → p-BFGmcTVw.js} +3 -3
- package/dist/components/{p-B2toBmC2.js.map → p-BFGmcTVw.js.map} +1 -1
- package/dist/components/{p-_sdYD0eS.js → p-BZy3vC1Y.js} +3 -3
- package/dist/components/{p-_sdYD0eS.js.map → p-BZy3vC1Y.js.map} +1 -1
- package/dist/components/{p-Bvpi6byK.js → p-DHePkzaR.js} +3 -3
- package/dist/components/{p-Bvpi6byK.js.map → p-DHePkzaR.js.map} +1 -1
- package/dist/components/{p-J5AA2xQI.js → p-DuDAHfBT.js} +3 -3
- package/dist/components/{p-J5AA2xQI.js.map → p-DuDAHfBT.js.map} +1 -1
- package/dist/components/spw-header-navigation-item.js +1 -1
- package/dist/components/spw-header-navigation-item.js.map +1 -1
- package/dist/components/spw-header-navigation.js +11 -2
- package/dist/components/spw-header-navigation.js.map +1 -1
- package/dist/components/spw-iodda.js +2 -2
- package/dist/components/spw-pagination.js +1 -1
- package/dist/components/spw-search-field.js +74 -13
- package/dist/components/spw-search-field.js.map +1 -1
- package/dist/components/spw-separator.js +1 -1
- package/dist/components/spw-sidebar-navigation-dropdown.js +1 -1
- package/dist/components/spw-sidebar-navigation-item.js +4 -4
- package/dist/components/spw-sidebar-navigation-separator.js +2 -2
- package/dist/components/spw-sidebar.js +1 -1
- package/dist/components/spw-skeleton.js +1 -1
- package/dist/components/spw-socials.js +1 -1
- package/dist/components/spw-table-body.js +1 -1
- package/dist/components/spw-table-cell.js +1 -1
- package/dist/components/spw-table-footer.js +1 -1
- package/dist/components/spw-table-head.js +1 -1
- package/dist/components/spw-table-header.js +3 -3
- package/dist/components/spw-table-row.js +1 -1
- package/dist/components/spw-tabs-navigation-item.js +2 -2
- package/dist/components/spw-tabs-navigation.js +1 -1
- package/dist/components/spw-tabs.js +1 -1
- package/dist/components/spw-tag.js +1 -1
- package/dist/components/spw-text-field.js +1 -1
- package/dist/components/spw-textarea.js +1 -1
- package/dist/components/spw-theme-provider.js +1 -1
- package/dist/components/spw-tile-description.js +1 -1
- package/dist/components/spw-tile-title.js +1 -1
- package/dist/components/spw-tile.js +1 -1
- package/dist/components/spw-tooltip.js +1 -1
- package/dist/components/spw-topbar.js +1 -1
- package/dist/components/spw-wizard-item.js +1 -1
- package/dist/components/spw-wizard.js +1 -1
- package/dist/components_json.json +214 -4
- package/dist/components_vscode.json +34 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/spw-field-label_6.entry.js +2 -2
- package/dist/esm/spw-header-navigation-item.entry.js +1 -1
- package/dist/esm/spw-header-navigation-item.entry.js.map +1 -1
- package/dist/esm/spw-header-navigation.entry.js +10 -2
- package/dist/esm/spw-header-navigation.entry.js.map +1 -1
- package/dist/esm/spw-search-field.entry.js +66 -12
- package/dist/esm/spw-search-field.entry.js.map +1 -1
- package/dist/esm/spw-sidebar-navigation-dropdown.entry.js +1 -1
- package/dist/esm/spw-sidebar-navigation-item.entry.js +3 -3
- package/dist/esm/spw-sidebar-navigation-separator.entry.js +1 -1
- package/dist/esm/spw-sidebar.entry.js +1 -1
- package/dist/esm/spw-skeleton.entry.js +1 -1
- package/dist/esm/spw-socials.entry.js +1 -1
- package/dist/esm/spw-stencil-library.js +1 -1
- package/dist/esm/spw-table-body.entry.js +1 -1
- package/dist/esm/spw-table-cell.entry.js +1 -1
- package/dist/esm/spw-table-footer.entry.js +1 -1
- package/dist/esm/spw-table-head.entry.js +1 -1
- package/dist/esm/spw-table-header.entry.js +2 -2
- package/dist/esm/spw-table-row.entry.js +1 -1
- package/dist/esm/spw-tabs-navigation-item.entry.js +1 -1
- package/dist/esm/spw-tabs-navigation.entry.js +1 -1
- package/dist/esm/spw-tabs.entry.js +1 -1
- package/dist/esm/spw-tag.entry.js +1 -1
- package/dist/esm/spw-text-field.entry.js +1 -1
- package/dist/esm/spw-textarea.entry.js +1 -1
- package/dist/esm/spw-tile-description.entry.js +1 -1
- package/dist/esm/spw-tile-title.entry.js +1 -1
- package/dist/esm/spw-tile.entry.js +1 -1
- package/dist/esm/spw-tooltip.entry.js +1 -1
- package/dist/esm/spw-topbar.entry.js +1 -1
- package/dist/esm/spw-wizard-item.entry.js +1 -1
- package/dist/esm/spw-wizard.entry.js +1 -1
- package/dist/esm/utils-BBi01mKM.js.map +1 -1
- package/dist/spw-stencil-library/{p-4a273848.entry.js → p-066fdd57.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-fcc5884a.entry.js → p-06ac337f.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-488c2d88.entry.js → p-0d1330e7.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-5632f307.entry.js → p-13ecc56f.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-2ad00dfc.entry.js → p-1713c17e.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-2c79bd06.entry.js → p-1c2b8f70.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-0baeea00.entry.js → p-229981f8.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-9e12973d.entry.js → p-25f95c06.entry.js} +2 -2
- package/dist/spw-stencil-library/p-25f95c06.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-fc6af4d8.entry.js → p-26eb5cff.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-ce72bca4.entry.js → p-2dc80ae2.entry.js} +2 -2
- package/dist/spw-stencil-library/p-43104fe6.entry.js +2 -0
- package/dist/spw-stencil-library/p-43104fe6.entry.js.map +1 -0
- package/dist/spw-stencil-library/{p-2d974226.entry.js → p-45caa6b4.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-f70ed5c3.entry.js → p-4e025664.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-9d984204.entry.js → p-4f0727e5.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-8cfb4646.entry.js → p-50a66fe6.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-a31a30f3.entry.js → p-6ec608ca.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-c3985590.entry.js → p-8115c88f.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-a25ad9f2.entry.js → p-852e0315.entry.js} +2 -2
- package/dist/spw-stencil-library/p-BBi01mKM.js.map +1 -1
- package/dist/spw-stencil-library/{p-0e1ec1e6.entry.js → p-a8c3ce29.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-e0c31c21.entry.js → p-ab5202fa.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-f28bf2be.entry.js → p-c9a3b38a.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-2abc48ed.entry.js → p-d0b15ea8.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-451a9785.entry.js → p-d368cf67.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-48417d99.entry.js → p-dde9348e.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-9d760073.entry.js → p-deb92d5e.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-512a2787.entry.js → p-df177420.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-cbf8aea1.entry.js → p-e159f34c.entry.js} +2 -2
- package/dist/spw-stencil-library/{p-e3485695.entry.js → p-e4c9b397.entry.js} +2 -2
- package/dist/spw-stencil-library/p-e60e3382.entry.js +2 -0
- package/dist/spw-stencil-library/p-e60e3382.entry.js.map +1 -0
- package/dist/spw-stencil-library/spw-header-navigation-item.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-header-navigation.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-search-field.entry.esm.js.map +1 -1
- package/dist/spw-stencil-library/spw-stencil-library.css +1 -1
- package/dist/spw-stencil-library/spw-stencil-library.esm.js +1 -1
- package/dist/stats.json +570 -206
- package/dist/types/components/spw-header/spw-header-navigation/spw-header-navigation.d.ts +3 -0
- package/dist/types/components/spw-search-field/spw-search-field.d.ts +20 -1
- package/dist/types/components.d.ts +56 -0
- package/dist/types/stories/components/spw-pagination/spw-pagination.stories.d.ts +0 -17
- package/dist/types/stories/components/spw-search-field/spw-search-field.stories.d.ts +5 -0
- package/hydrate/index.js +115 -45
- package/hydrate/index.mjs +115 -45
- package/package.json +1 -1
- package/dist/spw-stencil-library/p-300b4bdb.entry.js +0 -2
- package/dist/spw-stencil-library/p-300b4bdb.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-9e12973d.entry.js.map +0 -1
- package/dist/spw-stencil-library/p-c4e4cfd4.entry.js +0 -2
- package/dist/spw-stencil-library/p-c4e4cfd4.entry.js.map +0 -1
- /package/dist/spw-stencil-library/{p-4a273848.entry.js.map → p-066fdd57.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-fcc5884a.entry.js.map → p-06ac337f.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-488c2d88.entry.js.map → p-0d1330e7.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-5632f307.entry.js.map → p-13ecc56f.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-2ad00dfc.entry.js.map → p-1713c17e.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-2c79bd06.entry.js.map → p-1c2b8f70.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-0baeea00.entry.js.map → p-229981f8.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-fc6af4d8.entry.js.map → p-26eb5cff.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-ce72bca4.entry.js.map → p-2dc80ae2.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-2d974226.entry.js.map → p-45caa6b4.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-f70ed5c3.entry.js.map → p-4e025664.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-9d984204.entry.js.map → p-4f0727e5.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-8cfb4646.entry.js.map → p-50a66fe6.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-a31a30f3.entry.js.map → p-6ec608ca.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-c3985590.entry.js.map → p-8115c88f.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-a25ad9f2.entry.js.map → p-852e0315.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-0e1ec1e6.entry.js.map → p-a8c3ce29.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-e0c31c21.entry.js.map → p-ab5202fa.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-f28bf2be.entry.js.map → p-c9a3b38a.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-2abc48ed.entry.js.map → p-d0b15ea8.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-451a9785.entry.js.map → p-d368cf67.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-48417d99.entry.js.map → p-dde9348e.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-9d760073.entry.js.map → p-deb92d5e.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-512a2787.entry.js.map → p-df177420.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-cbf8aea1.entry.js.map → p-e159f34c.entry.js.map} +0 -0
- /package/dist/spw-stencil-library/{p-e3485695.entry.js.map → p-e4c9b397.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spw-card.stories.js","sourceRoot":"","sources":["../../../../src/stories/organisms/spw-card/spw-card.stories.ts"],"names":[],"mappings":"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","sourcesContent":["let componentsData;\n\ntry {\n componentsData = require('../../../../dist/components_json.json');\n} catch (error) {\n console.warn('components_json.json non trouvé. Utilisation de valeurs par défaut.');\n componentsData = {};\n}\n\nimport { Meta, StoryFn } from '@storybook/web-components';\nimport { withComponentControls, extractArgTypes } from '@utils/utils';\n\nconst elementTag = 'spw-card';\nconst subComponentTags = ['spw-card-image', 'spw-card-content', 'spw-card-title', 'spw-card-excerpt'];\n\nconst argTypes = {\n ...withComponentControls(componentsData, { tag: elementTag }),\n ...extractArgTypes(componentsData, subComponentTags),\n};\n\nconst meta: Meta = {\n title: 'Organismes/Carte',\n component: elementTag,\n argTypes,\n tags: ['autodocs'],\n parameters: {\n docs: {\n description: {\n component: `\n<strong class=\"mr-2\">Statut du composant :</strong> <spw-tag size=\"small\" variant=\"green\">Prêt</spw-tag>\n\nLa carte est un lien vers une page éditoriale dont elle donne un aperçu. Elle fait généralement partie d'une liste d'aperçus de contenus similaires.\n\n[<spw-link>Consulter la documentation</spw-link>](https://zeroheight.com/2310c7a1e/p/71f31e-carte-card)\n `,\n },\n },\n },\n};\n\nexport default meta;\n\nfunction getHtmlContent(variant, slotArgs) {\n const cardImage = slotArgs.imgSrc ? `<spw-card-image label=\"${slotArgs.label}\"><img alt=\"${slotArgs.imgAlt || ''}\" src=\"${slotArgs.imgSrc}\" /></spw-card-image>` : '';\n\n const cardExcerpt = slotArgs.excerpt ? `<spw-card-excerpt>${slotArgs.excerpt}</spw-card-excerpt>` : '';\n\n const cardTitle = `<spw-card-title>${slotArgs.title}</spw-card-title>`;\n\n const cardSubtagsLinks = `\n <spw-card-subtags variant=\"link\">\n <spw-card-subtag-item link=\"http://google.be\">Sous-tag 1</spw-card-subtag-item>\n <spw-card-subtag-item link=\"http://google.be\">Sous-tag 2</spw-card-subtag-item>\n </spw-card-subtags>\n `;\n\n const cardSubtagsTags = `\n <spw-card-subtags variant=\"tag\">\n <spw-card-subtag-item link=\"http://google.be\">Sous-tag 1</spw-card-subtag-item>\n <spw-card-subtag-item link=\"http://google.be\">Sous-tag 2</spw-card-subtag-item>\n </spw-card-subtags>\n `;\n\n switch (variant) {\n case 'light':\n return `<spw-card-content>${slotArgs.title}</spw-card-content>`;\n\n case 'event':\n return `\n <spw-card-content tag=\"${slotArgs.contentTag}\">\n ${cardTitle}\n ${cardSubtagsTags}\n </spw-card-content>\n `;\n\n case 'sidebar':\n return `\n ${cardImage}\n <spw-card-content>\n ${cardTitle}\n </spw-card-content>\n `;\n\n case 'vertical':\n return `\n ${cardImage}\n <spw-card-content tag=\"${slotArgs.contentTag}\" date=\"${slotArgs.contentDate}\">\n ${cardTitle}\n ${cardExcerpt}\n ${cardSubtagsTags}\n </spw-card-content>\n `;\n\n case 'video':\n return `\n ${cardImage}\n <spw-card-content tag=\"${slotArgs.contentTag}\">\n ${cardTitle}\n </spw-card-content>\n `;\n\n case 'people':\n if (slotArgs.withAffiliates) {\n return `\n <spw-card-title>${slotArgs.title}</spw-card-title>\n <spw-card-content>\n <spw-card-excerpt line-clamp=\"none\">\n <h4 class=\"spw-ds-typography-heading-04 mb-1\">${slotArgs.personName}</h4>\n <p class=\"mb-3\">${slotArgs.personTitle}</p>\n <p class=\"mb-1\">${slotArgs.address}</p>\n <p class=\"mb-1\">${slotArgs.city}</p>\n <spw-link href=\"tel:${slotArgs.phone}\">Tel : ${slotArgs.phone}</spw-link>\n </spw-card-excerpt>\n <spw-card-image>\n <img alt=\"${slotArgs.imgAlt || ''}\" src=\"${slotArgs.imgSrc}\" />\n </spw-card-image>\n </spw-card-content>\n <spw-separator class=\"mb-2\"></spw-separator>\n <spw-card-content>\n <h4 class=\"spw-ds-typography-heading-04 mb-3\">Entités affiliées :</h4>\n <spw-card class=\"mb-4\" variant=\"people\" full-height=\"true\">\n <spw-card-title border-color=\"#F6CC1E\">SPW Support</spw-card-title>\n <spw-card-content>\n <spw-card-excerpt line-clamp=\"none\">\n <h4 class=\"spw-ds-typography-heading-04 mb-1\">John Doe</h4>\n <p class=\"mb-3\">Directeur général</p>\n <p class=\"mb-1\">Place Joséphine Charlotte, 1</p>\n <p class=\"mb-1\">5100 Jambes</p>\n <spw-link href=\"tel:${slotArgs.phone}\">Tel : ${slotArgs.phone}</spw-link>\n </spw-card-excerpt>\n <spw-card-image>\n <img alt=\"Image\" src=\"https://images.unsplash.com/photo-1518020382113-a7e8fc38eac9?q=80&w=717&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D\" />\n </spw-card-image>\n </spw-card-content>\n </spw-card>\n <spw-card variant=\"people\" full-height=\"true\">\n <spw-card-title border-color=\"#8005CC\">SPW Digital</spw-card-title>\n <spw-card-content>\n <spw-card-excerpt line-clamp=\"none\">\n <h4 class=\"spw-ds-typography-heading-04 mb-1\">John Doe</h4>\n <p class=\"mb-3\">Directeur général</p>\n <p class=\"mb-1\">Place Joséphine Charlotte, 1</p>\n <p class=\"mb-1\">5100 Jambes</p>\n <spw-link href=\"tel:${slotArgs.phone}\">Tel : ${slotArgs.phone}</spw-link>\n </spw-card-excerpt>\n <spw-card-image>\n <img alt=\"Image\" src=\"https://images.unsplash.com/photo-1518020382113-a7e8fc38eac9?q=80&w=717&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D\" />\n </spw-card-image>\n </spw-card-content>\n </spw-card>\n </spw-card-content>\n `;\n }\n return `\n <spw-card-title>${slotArgs.title}</spw-card-title>\n <spw-card-content>\n <spw-card-excerpt line-clamp=\"none\">\n <h4 class=\"spw-ds-typography-heading-04 mb-1\">${slotArgs.personName}</h4>\n <p class=\"mb-3\">${slotArgs.personTitle}</p>\n <p class=\"mb-1\">${slotArgs.address}</p>\n <p class=\"mb-1\">${slotArgs.city}</p>\n <spw-link href=\"tel:${slotArgs.phone}\">Tel : ${slotArgs.phone}</spw-link>\n </spw-card-excerpt>\n <spw-card-image>\n <img alt=\"${slotArgs.imgAlt || ''}\" src=\"${slotArgs.imgSrc}\" />\n </spw-card-image>\n </spw-card-content>\n `;\n\n default:\n return `\n ${cardImage}\n <spw-card-content tag=\"${slotArgs.contentTag}\" date=\"${slotArgs.contentDate}\">\n ${cardSubtagsLinks}\n ${cardTitle}\n ${cardExcerpt}\n </spw-card-content>\n `;\n }\n}\n\nconst Template: StoryFn = args => {\n const element = document.createElement(elementTag);\n const variant = args.variant || 'news';\n\n const controls = withComponentControls(componentsData, { tag: elementTag }) || {};\n const masterProps = controls.__realProps || Object.keys(controls);\n\n Object.entries(args).forEach(([key, val]) => {\n const kebabKey = key.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n\n if (masterProps.includes(key)) {\n element.setAttribute(kebabKey, val);\n } else if (key.startsWith('on')) {\n element.addEventListener(key.substring(2).toLowerCase(), val);\n }\n });\n\n element.innerHTML = getHtmlContent(variant, args);\n\n return element;\n};\n\nexport const Default = Template.bind({});\nDefault.args = {\n fullHeight: true,\n href: 'http://google.com',\n label: 'Label',\n target: '_blank',\n imgAlt: 'Image',\n imgSrc: 'https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5',\n contentTag: 'Actualités',\n contentDate: '2024-02-09',\n title: 'Comment soutenir nos agricultrices et agriculteurs ?',\n excerpt:\n \"L'actualité nous invite à nous engager, à devenir chaque jour un peu plus \\\"consom'acteur\\\". Comment ? L'Agence wallonne pour la Promotion d'une Agriculture de Qualité (APAQ-W) nous propose quelques pistes pour privilégier le local.\",\n};\n\nexport const WithoutImage = Template.bind({});\nWithoutImage.args = {\n ...Default.args,\n imgSrc: '',\n};\n\nexport const Light = Template.bind({});\nLight.args = {\n fullHeight: true,\n href: 'http://google.com',\n target: '_blank',\n title: 'Comment soutenir nos agricultrices et agriculteurs ?',\n subTag: '',\n contentTag: '',\n contentDate: '',\n};\n\nexport const Vertical = Template.bind({});\nVertical.args = {\n variant: 'vertical',\n fullHeight: true,\n imgAlt: 'Image',\n imgSrc: 'https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5',\n href: 'http://google.com',\n target: '_blank',\n label: '',\n contentTag: 'Publication',\n contentDate: '2024-02-09',\n title: 'Comment soutenir nos agricultrices et agriculteurs ?',\n excerpt:\n \"L'actualité nous invite à nous engager, à devenir chaque jour un peu plus \\\"consom'acteur\\\". Comment ? L'Agence wallonne pour la Promotion d'une Agriculture de Qualité (APAQ-W) nous propose quelques pistes pour privilégier le local.\",\n};\n\nexport const Event = Template.bind({});\nEvent.args = {\n variant: 'event',\n fullHeight: true,\n imgAlt: 'Image',\n imgSrc: 'https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5',\n href: 'http://google.com',\n target: '_blank',\n label: '',\n dateStart: '11/02',\n dateEnd: '12/02',\n contentTag: 'Evènement',\n title: 'Comment soutenir nos agricultrices et agriculteurs ?',\n};\n\nexport const Video = Template.bind({});\nVideo.args = {\n variant: 'video',\n fullHeight: true,\n imgAlt: 'Image',\n imgSrc: 'https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5',\n href: 'http://google.com',\n target: '_blank',\n label: '',\n contentTag: 'Vidéo',\n title: 'Comment soutenir nos agricultrices et agriculteurs ?',\n};\n\nexport const Mini = Template.bind({});\nMini.args = {\n variant: 'sidebar',\n fullHeight: true,\n imgAlt: 'Image',\n imgSrc: 'https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5',\n href: 'http://google.com',\n target: '_blank',\n label: '',\n title: 'Comment soutenir nos agricultrices et agriculteurs ?',\n};\n\nexport const People = Template.bind({});\nPeople.args = {\n variant: 'people',\n fullHeight: true,\n title: 'SPW Secrétariat Général',\n personName: 'John Doe',\n personTitle: 'Directeur général',\n address: 'Place Joséphine Charlotte, 1',\n city: '5100 Jambes',\n phone: '081000000',\n imgAlt: 'Image',\n imgSrc: 'https://images.unsplash.com/photo-1518020382113-a7e8fc38eac9?q=80&w=717&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D',\n};\n\nexport const PeopleWithAffiliates = Template.bind({});\nPeopleWithAffiliates.args = {\n variant: 'people',\n withAffiliates: true,\n fullHeight: true,\n title: 'SPW Secrétariat Général',\n personName: 'John Doe',\n personTitle: 'Secrétaire général',\n address: 'Place Joséphine Charlotte, 1',\n city: '5100 Jambes',\n phone: '081000000',\n imgAlt: 'Image',\n imgSrc: 'https://images.unsplash.com/photo-1518020382113-a7e8fc38eac9?q=80&w=717&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D',\n};\n"]}
|
|
1
|
+
{"version":3,"file":"spw-card.stories.js","sourceRoot":"","sources":["../../../../src/stories/organisms/spw-card/spw-card.stories.ts"],"names":[],"mappings":"AAAA,IAAI,cAAc,CAAC;AAEnB,IAAI,CAAC;IACH,cAAc,GAAG,OAAO,CAAC,uCAAuC,CAAC,CAAC;AACpE,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,OAAO,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;IACpF,cAAc,GAAG,EAAE,CAAC;AACtB,CAAC;AAGD,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEtE,MAAM,UAAU,GAAG,UAAU,CAAC;AAC9B,MAAM,gBAAgB,GAAG,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,sBAAsB,CAAC,CAAC;AAElJ,MAAM,QAAQ,iDACT,qBAAqB,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,GAC1D,eAAe,CAAC,cAAc,EAAE,gBAAgB,CAAC,KACpD,WAAW,EAAE;QACX,OAAO,EAAE,MAAM;QACf,WAAW,EAAE,qEAAqE;KACnF,GACF,CAAC;AAEF,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,kBAAkB;IACzB,SAAS,EAAE,UAAU;IACrB,QAAQ;IACR,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,WAAW,EAAE;gBACX,SAAS,EAAE;;;;;;SAMV;aACF;SACF;KACF;CACF,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,SAAS,cAAc,CAAC,OAAO,EAAE,QAAQ;IACvC,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,0BAA0B,QAAQ,CAAC,KAAK,eAAe,QAAQ,CAAC,MAAM,IAAI,EAAE,UAAU,QAAQ,CAAC,MAAM,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC;IAEtK,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,QAAQ,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;IAEvG,MAAM,SAAS,GAAG,mBAAmB,QAAQ,CAAC,KAAK,mBAAmB,CAAC;IAEvE,MAAM,gBAAgB,GAAG;;;;;GAKxB,CAAC;IAEF,MAAM,eAAe,GAAG;;;;;GAKvB,CAAC;IAEF,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,OAAO;YACV,OAAO,qBAAqB,QAAQ,CAAC,KAAK,qBAAqB,CAAC;QAElE,KAAK,OAAO;YACV,OAAO;iCACoB,QAAQ,CAAC,UAAU;YACxC,SAAS;YACT,eAAe;;OAEpB,CAAC;QAEJ,KAAK,SAAS;YACZ,OAAO;UACH,SAAS;;YAEP,SAAS;;OAEd,CAAC;QAEJ,KAAK,UAAU;YACb,OAAO;UACH,SAAS;iCACc,QAAQ,CAAC,UAAU,WAAW,QAAQ,CAAC,WAAW;YACvE,SAAS;YACT,WAAW;YACX,eAAe;;OAEpB,CAAC;QAEJ,KAAK,OAAO;YACV,OAAO;UACH,SAAS;iCACc,QAAQ,CAAC,UAAU;YACxC,SAAS;;OAEd,CAAC;QAEJ,KAAK,QAAQ;YACX,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;gBAC5B,OAAO;4BACa,QAAQ,CAAC,KAAK;;;8DAGoB,QAAQ,CAAC,UAAU;gCACjD,QAAQ,CAAC,WAAW;gCACpB,QAAQ,CAAC,OAAO;gCAChB,QAAQ,CAAC,IAAI;oCACT,QAAQ,CAAC,KAAK,WAAW,QAAQ,CAAC,KAAK;;;0BAGjD,QAAQ,CAAC,MAAM,IAAI,EAAE,UAAU,QAAQ,CAAC,MAAM;;;;;;;;;;;;;;wCAchC,QAAQ,CAAC,KAAK,WAAW,QAAQ,CAAC,KAAK;;;;;;;;;;;;;;;wCAevC,QAAQ,CAAC,KAAK,WAAW,QAAQ,CAAC,KAAK;;;;;;;;SAQtE,CAAC;YACJ,CAAC;YACD,OAAO;0BACa,QAAQ,CAAC,KAAK;;;4DAGoB,QAAQ,CAAC,UAAU;8BACjD,QAAQ,CAAC,WAAW;8BACpB,QAAQ,CAAC,OAAO;8BAChB,QAAQ,CAAC,IAAI;kCACT,QAAQ,CAAC,KAAK,WAAW,QAAQ,CAAC,KAAK;;;wBAGjD,QAAQ,CAAC,MAAM,IAAI,EAAE,UAAU,QAAQ,CAAC,MAAM;;;OAG/D,CAAC;QAEJ;YACE,OAAO;UACH,SAAS;iCACc,QAAQ,CAAC,UAAU,WAAW,QAAQ,CAAC,WAAW;YACvE,gBAAgB;YAChB,SAAS;YACT,WAAW;;OAEhB,CAAC;IACN,CAAC;AACH,CAAC;AAED,MAAM,QAAQ,GAAY,IAAI,CAAC,EAAE;IAC/B,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC;IAEvC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC;IAClF,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAElE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE;QAC1C,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QAEvE,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACtC,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;QAChE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,SAAS,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAElD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzC,OAAO,CAAC,IAAI,GAAG;IACb,UAAU,EAAE,IAAI;IAChB,IAAI,EAAE,mBAAmB;IACzB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,8DAA8D;IACtE,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,YAAY;IACzB,KAAK,EAAE,sDAAsD;IAC7D,OAAO,EACL,0OAA0O;CAC7O,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9C,YAAY,CAAC,IAAI,mCACZ,OAAO,CAAC,IAAI,KACf,MAAM,EAAE,EAAE,GACX,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvC,KAAK,CAAC,IAAI,GAAG;IACX,UAAU,EAAE,IAAI;IAChB,IAAI,EAAE,mBAAmB;IACzB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,sDAAsD;IAC7D,MAAM,EAAE,EAAE;IACV,UAAU,EAAE,EAAE;IACd,WAAW,EAAE,EAAE;CAChB,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC1C,QAAQ,CAAC,IAAI,GAAG;IACd,OAAO,EAAE,UAAU;IACnB,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,8DAA8D;IACtE,IAAI,EAAE,mBAAmB;IACzB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,EAAE;IACT,UAAU,EAAE,aAAa;IACzB,WAAW,EAAE,YAAY;IACzB,KAAK,EAAE,sDAAsD;IAC7D,OAAO,EACL,0OAA0O;CAC7O,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvC,KAAK,CAAC,IAAI,GAAG;IACX,OAAO,EAAE,OAAO;IAChB,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,8DAA8D;IACtE,IAAI,EAAE,mBAAmB;IACzB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,EAAE;IACT,SAAS,EAAE,OAAO;IAClB,OAAO,EAAE,OAAO;IAChB,UAAU,EAAE,WAAW;IACvB,KAAK,EAAE,sDAAsD;CAC9D,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvC,KAAK,CAAC,IAAI,GAAG;IACX,OAAO,EAAE,OAAO;IAChB,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,8DAA8D;IACtE,IAAI,EAAE,mBAAmB;IACzB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,EAAE;IACT,UAAU,EAAE,OAAO;IACnB,KAAK,EAAE,sDAAsD;CAC9D,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACtC,IAAI,CAAC,IAAI,GAAG;IACV,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,8DAA8D;IACtE,IAAI,EAAE,mBAAmB;IACzB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,sDAAsD;CAC9D,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxC,MAAM,CAAC,IAAI,GAAG;IACZ,OAAO,EAAE,QAAQ;IACjB,UAAU,EAAE,IAAI;IAChB,KAAK,EAAE,yBAAyB;IAChC,UAAU,EAAE,UAAU;IACtB,WAAW,EAAE,mBAAmB;IAChC,OAAO,EAAE,8BAA8B;IACvC,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,WAAW;IAClB,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,uKAAuK;CAChL,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACtD,oBAAoB,CAAC,IAAI,GAAG;IAC1B,OAAO,EAAE,QAAQ;IACjB,cAAc,EAAE,IAAI;IACpB,UAAU,EAAE,IAAI;IAChB,KAAK,EAAE,yBAAyB;IAChC,UAAU,EAAE,UAAU;IACtB,WAAW,EAAE,oBAAoB;IACjC,OAAO,EAAE,8BAA8B;IACvC,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,WAAW;IAClB,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,uKAAuK;CAChL,CAAC","sourcesContent":["let componentsData;\n\ntry {\n componentsData = require('../../../../dist/components_json.json');\n} catch (error) {\n console.warn('components_json.json non trouvé. Utilisation de valeurs par défaut.');\n componentsData = {};\n}\n\nimport { Meta, StoryFn } from '@storybook/web-components';\nimport { withComponentControls, extractArgTypes } from '@utils/utils';\n\nconst elementTag = 'spw-card';\nconst subComponentTags = ['spw-card-image', 'spw-card-content', 'spw-card-title', 'spw-card-excerpt', 'spw-card-subtags', 'spw-card-subtag-item'];\n\nconst argTypes = {\n ...withComponentControls(componentsData, { tag: elementTag }),\n ...extractArgTypes(componentsData, subComponentTags),\n contentDate: {\n control: 'text',\n description: 'Date à afficher dans le contenu de la carte (au format YYYY-MM-DD).',\n },\n};\n\nconst meta: Meta = {\n title: 'Organismes/Carte',\n component: elementTag,\n argTypes,\n tags: ['autodocs'],\n parameters: {\n docs: {\n description: {\n component: `\n<strong class=\"mr-2\">Statut du composant :</strong> <spw-tag size=\"small\" variant=\"green\">Prêt</spw-tag>\n\nLa carte est un lien vers une page éditoriale dont elle donne un aperçu. Elle fait généralement partie d'une liste d'aperçus de contenus similaires.\n\n[<spw-link>Consulter la documentation</spw-link>](https://zeroheight.com/2310c7a1e/p/71f31e-carte-card)\n `,\n },\n },\n },\n};\n\nexport default meta;\n\nfunction getHtmlContent(variant, slotArgs) {\n const cardImage = slotArgs.imgSrc ? `<spw-card-image label=\"${slotArgs.label}\"><img alt=\"${slotArgs.imgAlt || ''}\" src=\"${slotArgs.imgSrc}\" /></spw-card-image>` : '';\n\n const cardExcerpt = slotArgs.excerpt ? `<spw-card-excerpt>${slotArgs.excerpt}</spw-card-excerpt>` : '';\n\n const cardTitle = `<spw-card-title>${slotArgs.title}</spw-card-title>`;\n\n const cardSubtagsLinks = `\n <spw-card-subtags variant=\"link\">\n <spw-card-subtag-item link=\"http://google.be\">Sous-tag 1</spw-card-subtag-item>\n <spw-card-subtag-item link=\"http://google.be\">Sous-tag 2</spw-card-subtag-item>\n </spw-card-subtags>\n `;\n\n const cardSubtagsTags = `\n <spw-card-subtags variant=\"tag\">\n <spw-card-subtag-item link=\"http://google.be\">Sous-tag 1</spw-card-subtag-item>\n <spw-card-subtag-item link=\"http://google.be\">Sous-tag 2</spw-card-subtag-item>\n </spw-card-subtags>\n `;\n\n switch (variant) {\n case 'light':\n return `<spw-card-content>${slotArgs.title}</spw-card-content>`;\n\n case 'event':\n return `\n <spw-card-content tag=\"${slotArgs.contentTag}\">\n ${cardTitle}\n ${cardSubtagsTags}\n </spw-card-content>\n `;\n\n case 'sidebar':\n return `\n ${cardImage}\n <spw-card-content>\n ${cardTitle}\n </spw-card-content>\n `;\n\n case 'vertical':\n return `\n ${cardImage}\n <spw-card-content tag=\"${slotArgs.contentTag}\" date=\"${slotArgs.contentDate}\">\n ${cardTitle}\n ${cardExcerpt}\n ${cardSubtagsTags}\n </spw-card-content>\n `;\n\n case 'video':\n return `\n ${cardImage}\n <spw-card-content tag=\"${slotArgs.contentTag}\">\n ${cardTitle}\n </spw-card-content>\n `;\n\n case 'people':\n if (slotArgs.withAffiliates) {\n return `\n <spw-card-title>${slotArgs.title}</spw-card-title>\n <spw-card-content>\n <spw-card-excerpt line-clamp=\"none\">\n <h4 class=\"spw-ds-typography-heading-04 mb-1\">${slotArgs.personName}</h4>\n <p class=\"mb-3\">${slotArgs.personTitle}</p>\n <p class=\"mb-1\">${slotArgs.address}</p>\n <p class=\"mb-1\">${slotArgs.city}</p>\n <spw-link href=\"tel:${slotArgs.phone}\">Tel : ${slotArgs.phone}</spw-link>\n </spw-card-excerpt>\n <spw-card-image>\n <img alt=\"${slotArgs.imgAlt || ''}\" src=\"${slotArgs.imgSrc}\" />\n </spw-card-image>\n </spw-card-content>\n <spw-separator class=\"mb-2\"></spw-separator>\n <spw-card-content>\n <h4 class=\"spw-ds-typography-heading-04 mb-3\">Entités affiliées :</h4>\n <spw-card class=\"mb-4\" variant=\"people\" full-height=\"true\">\n <spw-card-title border-color=\"#F6CC1E\">SPW Support</spw-card-title>\n <spw-card-content>\n <spw-card-excerpt line-clamp=\"none\">\n <h4 class=\"spw-ds-typography-heading-04 mb-1\">John Doe</h4>\n <p class=\"mb-3\">Directeur général</p>\n <p class=\"mb-1\">Place Joséphine Charlotte, 1</p>\n <p class=\"mb-1\">5100 Jambes</p>\n <spw-link href=\"tel:${slotArgs.phone}\">Tel : ${slotArgs.phone}</spw-link>\n </spw-card-excerpt>\n <spw-card-image>\n <img alt=\"Image\" src=\"https://images.unsplash.com/photo-1518020382113-a7e8fc38eac9?q=80&w=717&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D\" />\n </spw-card-image>\n </spw-card-content>\n </spw-card>\n <spw-card variant=\"people\" full-height=\"true\">\n <spw-card-title border-color=\"#8005CC\">SPW Digital</spw-card-title>\n <spw-card-content>\n <spw-card-excerpt line-clamp=\"none\">\n <h4 class=\"spw-ds-typography-heading-04 mb-1\">John Doe</h4>\n <p class=\"mb-3\">Directeur général</p>\n <p class=\"mb-1\">Place Joséphine Charlotte, 1</p>\n <p class=\"mb-1\">5100 Jambes</p>\n <spw-link href=\"tel:${slotArgs.phone}\">Tel : ${slotArgs.phone}</spw-link>\n </spw-card-excerpt>\n <spw-card-image>\n <img alt=\"Image\" src=\"https://images.unsplash.com/photo-1518020382113-a7e8fc38eac9?q=80&w=717&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D\" />\n </spw-card-image>\n </spw-card-content>\n </spw-card>\n </spw-card-content>\n `;\n }\n return `\n <spw-card-title>${slotArgs.title}</spw-card-title>\n <spw-card-content>\n <spw-card-excerpt line-clamp=\"none\">\n <h4 class=\"spw-ds-typography-heading-04 mb-1\">${slotArgs.personName}</h4>\n <p class=\"mb-3\">${slotArgs.personTitle}</p>\n <p class=\"mb-1\">${slotArgs.address}</p>\n <p class=\"mb-1\">${slotArgs.city}</p>\n <spw-link href=\"tel:${slotArgs.phone}\">Tel : ${slotArgs.phone}</spw-link>\n </spw-card-excerpt>\n <spw-card-image>\n <img alt=\"${slotArgs.imgAlt || ''}\" src=\"${slotArgs.imgSrc}\" />\n </spw-card-image>\n </spw-card-content>\n `;\n\n default:\n return `\n ${cardImage}\n <spw-card-content tag=\"${slotArgs.contentTag}\" date=\"${slotArgs.contentDate}\">\n ${cardSubtagsLinks}\n ${cardTitle}\n ${cardExcerpt}\n </spw-card-content>\n `;\n }\n}\n\nconst Template: StoryFn = args => {\n const element = document.createElement(elementTag);\n const variant = args.variant || 'news';\n\n const controls = withComponentControls(componentsData, { tag: elementTag }) || {};\n const masterProps = controls.__realProps || Object.keys(controls);\n\n Object.entries(args).forEach(([key, val]) => {\n const kebabKey = key.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n\n if (masterProps.includes(key)) {\n element.setAttribute(kebabKey, val);\n } else if (key.startsWith('on')) {\n element.addEventListener(key.substring(2).toLowerCase(), val);\n }\n });\n\n element.innerHTML = getHtmlContent(variant, args);\n\n return element;\n};\n\nexport const Default = Template.bind({});\nDefault.args = {\n fullHeight: true,\n href: 'http://google.com',\n label: 'Label',\n target: '_blank',\n imgAlt: 'Image',\n imgSrc: 'https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5',\n contentTag: 'Actualités',\n contentDate: '2024-02-09',\n title: 'Comment soutenir nos agricultrices et agriculteurs ?',\n excerpt:\n \"L'actualité nous invite à nous engager, à devenir chaque jour un peu plus \\\"consom'acteur\\\". Comment ? L'Agence wallonne pour la Promotion d'une Agriculture de Qualité (APAQ-W) nous propose quelques pistes pour privilégier le local.\",\n};\n\nexport const WithoutImage = Template.bind({});\nWithoutImage.args = {\n ...Default.args,\n imgSrc: '',\n};\n\nexport const Light = Template.bind({});\nLight.args = {\n fullHeight: true,\n href: 'http://google.com',\n target: '_blank',\n title: 'Comment soutenir nos agricultrices et agriculteurs ?',\n subTag: '',\n contentTag: '',\n contentDate: '',\n};\n\nexport const Vertical = Template.bind({});\nVertical.args = {\n variant: 'vertical',\n fullHeight: true,\n imgAlt: 'Image',\n imgSrc: 'https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5',\n href: 'http://google.com',\n target: '_blank',\n label: '',\n contentTag: 'Publication',\n contentDate: '2024-02-09',\n title: 'Comment soutenir nos agricultrices et agriculteurs ?',\n excerpt:\n \"L'actualité nous invite à nous engager, à devenir chaque jour un peu plus \\\"consom'acteur\\\". Comment ? L'Agence wallonne pour la Promotion d'une Agriculture de Qualité (APAQ-W) nous propose quelques pistes pour privilégier le local.\",\n};\n\nexport const Event = Template.bind({});\nEvent.args = {\n variant: 'event',\n fullHeight: true,\n imgAlt: 'Image',\n imgSrc: 'https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5',\n href: 'http://google.com',\n target: '_blank',\n label: '',\n dateStart: '11/02',\n dateEnd: '12/02',\n contentTag: 'Evènement',\n title: 'Comment soutenir nos agricultrices et agriculteurs ?',\n};\n\nexport const Video = Template.bind({});\nVideo.args = {\n variant: 'video',\n fullHeight: true,\n imgAlt: 'Image',\n imgSrc: 'https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5',\n href: 'http://google.com',\n target: '_blank',\n label: '',\n contentTag: 'Vidéo',\n title: 'Comment soutenir nos agricultrices et agriculteurs ?',\n};\n\nexport const Mini = Template.bind({});\nMini.args = {\n variant: 'sidebar',\n fullHeight: true,\n imgAlt: 'Image',\n imgSrc: 'https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5',\n href: 'http://google.com',\n target: '_blank',\n label: '',\n title: 'Comment soutenir nos agricultrices et agriculteurs ?',\n};\n\nexport const People = Template.bind({});\nPeople.args = {\n variant: 'people',\n fullHeight: true,\n title: 'SPW Secrétariat Général',\n personName: 'John Doe',\n personTitle: 'Directeur général',\n address: 'Place Joséphine Charlotte, 1',\n city: '5100 Jambes',\n phone: '081000000',\n imgAlt: 'Image',\n imgSrc: 'https://images.unsplash.com/photo-1518020382113-a7e8fc38eac9?q=80&w=717&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D',\n};\n\nexport const PeopleWithAffiliates = Template.bind({});\nPeopleWithAffiliates.args = {\n variant: 'people',\n withAffiliates: true,\n fullHeight: true,\n title: 'SPW Secrétariat Général',\n personName: 'John Doe',\n personTitle: 'Secrétaire général',\n address: 'Place Joséphine Charlotte, 1',\n city: '5100 Jambes',\n phone: '081000000',\n imgAlt: 'Image',\n imgSrc: 'https://images.unsplash.com/photo-1518020382113-a7e8fc38eac9?q=80&w=717&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D',\n};\n"]}
|
|
@@ -8,7 +8,7 @@ catch (error) {
|
|
|
8
8
|
}
|
|
9
9
|
import { withComponentControls, extractArgTypes, toKebabCase } from "../../../utils/utils";
|
|
10
10
|
const elementTag = 'spw-header';
|
|
11
|
-
const subComponentTags = ['spw-header-navigation', 'spw-header-navigation-item'];
|
|
11
|
+
const subComponentTags = ['spw-header-lang', 'spw-header-lang-item', 'spw-header-navigation', 'spw-header-navigation-item', 'spw-header-navigation-dropdown', 'spw-header-persona'];
|
|
12
12
|
const argTypes = Object.assign(Object.assign({}, withComponentControls(componentsData, { tag: elementTag })), extractArgTypes(componentsData, subComponentTags));
|
|
13
13
|
const meta = {
|
|
14
14
|
title: 'Organismes/En-tête de site (header)',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spw-header.stories.js","sourceRoot":"","sources":["../../../../src/stories/organisms/spw-header/spw-header.stories.ts"],"names":[],"mappings":"AAAA,IAAI,cAAmB,CAAC;AAExB,IAAI,CAAC;IACH,cAAc,GAAG,OAAO,CAAC,uCAAuC,CAAC,CAAC;AACpE,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,OAAO,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;IACpF,cAAc,GAAG,EAAE,CAAC;AACtB,CAAC;AAGD,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEnF,MAAM,UAAU,GAAG,YAAY,CAAC;AAEhC,MAAM,gBAAgB,GAAG,CAAC,uBAAuB,EAAE,4BAA4B,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"spw-header.stories.js","sourceRoot":"","sources":["../../../../src/stories/organisms/spw-header/spw-header.stories.ts"],"names":[],"mappings":"AAAA,IAAI,cAAmB,CAAC;AAExB,IAAI,CAAC;IACH,cAAc,GAAG,OAAO,CAAC,uCAAuC,CAAC,CAAC;AACpE,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,OAAO,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;IACpF,cAAc,GAAG,EAAE,CAAC;AACtB,CAAC;AAGD,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEnF,MAAM,UAAU,GAAG,YAAY,CAAC;AAEhC,MAAM,gBAAgB,GAAG,CAAC,iBAAiB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,4BAA4B,EAAE,gCAAgC,EAAE,oBAAoB,CAAC,CAAC;AAEpL,MAAM,QAAQ,mCACT,qBAAqB,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,GAC1D,eAAe,CAAC,cAAc,EAAE,gBAAgB,CAAC,CACrD,CAAC;AAEF,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,qCAAqC;IAC5C,SAAS,EAAE,UAAU;IACrB,QAAQ;IACR,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,WAAW,EAAE;gBACX,SAAS,EAAE;;;;;;SAMV;aACF;SACF;KACF;CACF,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,SAAS,WAAW,CAAC,QAAQ;IAC3B,OAAO,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+CA2C2B,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2C7D,CAAC;AACJ,CAAC;AAED,MAAM,QAAQ,GAAY,IAAI,CAAC,EAAE;IAC/B,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAEnD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC;IAClF,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAElE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE;QAC1C,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,GAAa,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;QAChE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAEtC,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzC,OAAO,CAAC,IAAI,GAAG;IACb,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,eAAe;IAC1B,WAAW,EAAE,uBAAuB;CACrC,CAAC","sourcesContent":["let componentsData: any;\n\ntry {\n componentsData = require('../../../../dist/components_json.json');\n} catch (error) {\n console.warn('components_json.json non trouvé. Utilisation de valeurs par défaut.');\n componentsData = {};\n}\n\nimport { Meta, StoryFn } from '@storybook/web-components';\nimport { withComponentControls, extractArgTypes, toKebabCase } from '@utils/utils';\n\nconst elementTag = 'spw-header';\n\nconst subComponentTags = ['spw-header-lang', 'spw-header-lang-item', 'spw-header-navigation', 'spw-header-navigation-item', 'spw-header-navigation-dropdown', 'spw-header-persona'];\n\nconst argTypes = {\n ...withComponentControls(componentsData, { tag: elementTag }),\n ...extractArgTypes(componentsData, subComponentTags),\n};\n\nconst meta: Meta = {\n title: 'Organismes/En-tête de site (header)',\n component: elementTag,\n argTypes,\n tags: ['autodocs'],\n parameters: {\n docs: {\n description: {\n component: `\n<strong class=\"mr-2\">Statut du composant :</strong> <spw-tag size=\"small\" variant=\"green\">Prêt</spw-tag>\n\nSection supérieure d'une page, servant de conteneur pour les éléments de navigation et les informations importantes.\n\n[<spw-link>Consulter la documentation</spw-link>](https://zeroheight.com/2310c7a1e/p/78fef5-en-tete-de-site-header)\n `,\n },\n },\n },\n};\n\nexport default meta;\n\nfunction htmlContent(slotArgs) {\n return /* HTML */ `\n <div slot=\"top-left\">\n <spw-header-persona>\n <option data-link=\"#\" selected value=\"citoyen\">Citoyen</option>\n <option data-link=\"#\" value=\"entreprise\">Entreprise</option>\n <option data-link=\"#\" value=\"pouvoirs-locaux\">Pouvoirs locaux</option>\n <option data-link=\"#\" value=\"non-marchands\">Non-marchands</option>\n </spw-header-persona>\n </div>\n\n <div slot=\"right\">\n <spw-header-lang>\n <option data-link=\"#\" selected value=\"fr\">Fr</option>\n <option data-link=\"#\" value=\"nl\">Nl</option>\n <option data-link=\"#\" value=\"en\">En</option>\n <option data-link=\"#\" value=\"de\">De</option>\n </spw-header-lang>\n </div>\n\n <div slot=\"search\">\n <spw-search-field\n class=\"mb-4\"\n size=\"medium\"\n name=\"search\"\n items='[\n {\"url\": \"http://google.com\", \"label\": \"Banane\"},\n {\"label\": \"Pomme\"},\n {\"label\": \"Poire\"},\n {\"label\": \"Cerise\"},\n {\"label\": \"Raisin\"}\n ]'\n placeholder=\"Exemple : un mot-clé...\"\n ></spw-search-field>\n <h2 class=\"spw-ds-typography-heading-04 mb-4\">Suggestions de pages :</h2>\n <spw-group orientation=\"vertical\">\n <spw-link variant=\"tertiary\">Démarches</spw-link>\n <spw-link variant=\"tertiary\">Réforme primes énergie</spw-link>\n <spw-link variant=\"tertiary\">Jobs</spw-link>\n <spw-link variant=\"tertiary\">Trafiroutes</spw-link>\n </spw-group>\n </div>\n\n <spw-header-navigation>\n <spw-header-navigation-item is-active=\"${slotArgs.isActive}\">\n <a href=\"#\">Rubrique 1</a>\n\n <spw-header-navigation-dropdown>\n <spw-header-navigation-item>\n <a href=\"#\">Sous-rubrique niveau 2</a>\n <spw-header-navigation-dropdown>\n <spw-header-navigation-item>\n <a href=\"#\">Sous-rubrique niveau 3</a>\n </spw-header-navigation-item>\n <spw-header-navigation-item>\n <a href=\"#\">Sous-rubrique niveau 3</a>\n </spw-header-navigation-item>\n </spw-header-navigation-dropdown>\n </spw-header-navigation-item>\n <spw-header-navigation-item>\n <a href=\"#\">Sous-rubrique</a>\n </spw-header-navigation-item>\n <spw-header-navigation-item>\n <a href=\"#\">Sous-rubrique</a>\n </spw-header-navigation-item>\n <spw-header-navigation-item>\n <a href=\"#\">Sous-rubrique</a>\n </spw-header-navigation-item>\n </spw-header-navigation-dropdown>\n </spw-header-navigation-item>\n\n <spw-header-navigation-item>\n <a href=\"#\">Rubrique 2</a>\n </spw-header-navigation-item>\n <spw-header-navigation-item>\n <a href=\"#\">Rubrique 3</a>\n </spw-header-navigation-item>\n <spw-header-navigation-item>\n <a href=\"#\">Rubrique 4</a>\n </spw-header-navigation-item>\n <spw-header-navigation-item>\n <a href=\"#\">Rubrique 5</a>\n </spw-header-navigation-item>\n <spw-header-navigation-item>\n <a href=\"#\">Rubrique 6</a>\n </spw-header-navigation-item>\n </spw-header-navigation>\n `;\n}\n\nconst Template: StoryFn = args => {\n const element = document.createElement(elementTag);\n\n const controls = withComponentControls(componentsData, { tag: elementTag }) || {};\n const masterProps = controls.__realProps || Object.keys(controls);\n\n Object.entries(args).forEach(([key, val]) => {\n if (masterProps.includes(key)) {\n element.setAttribute(toKebabCase(key), val as string);\n } else if (key.startsWith('on')) {\n element.addEventListener(key.substring(2).toLowerCase(), val);\n }\n });\n\n element.innerHTML = htmlContent(args);\n\n return element;\n};\n\nexport const Default = Template.bind({});\nDefault.args = {\n isActive: false,\n siteTitle: 'Titre du site',\n borderColor: 'var(--spw-ds-primary)',\n};\n"]}
|
|
@@ -8,7 +8,7 @@ catch (error) {
|
|
|
8
8
|
}
|
|
9
9
|
import { withComponentControls, extractArgTypes, toKebabCase } from "../../../utils/utils";
|
|
10
10
|
const elementTag = 'spw-list';
|
|
11
|
-
const subComponentTags = ['spw-list-item'];
|
|
11
|
+
const subComponentTags = ['spw-list-item', 'spw-list-description', 'spw-list-title'];
|
|
12
12
|
const argTypes = Object.assign(Object.assign({}, withComponentControls(componentsData, { tag: elementTag })), extractArgTypes(componentsData, subComponentTags));
|
|
13
13
|
const meta = {
|
|
14
14
|
title: 'Organismes/Liste',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spw-list.stories.js","sourceRoot":"","sources":["../../../../src/stories/organisms/spw-list/spw-list.stories.ts"],"names":[],"mappings":"AAAA,IAAI,cAAmB,CAAC;AAExB,IAAI,CAAC;IACH,cAAc,GAAG,OAAO,CAAC,uCAAuC,CAAC,CAAC;AACpE,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,OAAO,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;IACpF,cAAc,GAAG,EAAE,CAAC;AACtB,CAAC;AAGD,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEnF,MAAM,UAAU,GAAG,UAAU,CAAC;AAE9B,MAAM,gBAAgB,GAAG,CAAC,eAAe,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"spw-list.stories.js","sourceRoot":"","sources":["../../../../src/stories/organisms/spw-list/spw-list.stories.ts"],"names":[],"mappings":"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","sourcesContent":["let componentsData: any;\n\ntry {\n componentsData = require('../../../../dist/components_json.json');\n} catch (error) {\n console.warn('components_json.json non trouvé. Utilisation de valeurs par défaut.');\n componentsData = {};\n}\n\nimport { Meta, StoryFn } from '@storybook/web-components';\nimport { withComponentControls, extractArgTypes, toKebabCase } from '@utils/utils';\n\nconst elementTag = 'spw-list';\n\nconst subComponentTags = ['spw-list-item', 'spw-list-description', 'spw-list-title'];\n\nconst argTypes = {\n ...withComponentControls(componentsData, { tag: elementTag }),\n ...extractArgTypes(componentsData, subComponentTags),\n};\n\nconst meta: Meta = {\n title: 'Organismes/Liste',\n component: elementTag,\n argTypes,\n tags: ['autodocs'],\n parameters: {\n docs: {\n description: {\n component: `\n<strong class=\"mr-2\">Statut du composant :</strong> <spw-tag size=\"small\" variant=\"green\">Prêt</spw-tag>\n\nOrganise et présente des informations de manière structurée et facilement lisible. \n\n[<spw-link>Consulter la documentation</spw-link>](https://zeroheight.com/2310c7a1e/p/51c7cf-liste)\n `,\n },\n },\n },\n};\n\nexport default meta;\n\nfunction htmlContentDefault(slotArgs) {\n return /* HTML */ `\n <spw-list-item\n icon=\"${slotArgs.icon}\"\n variant=\"${slotArgs.variant}\"\n category=\"${slotArgs.category}\"\n category-link=\"${slotArgs.categoryLink}\"\n category-icon=\"${slotArgs.categoryIcon}\"\n line-clamp=\"${slotArgs.lineClamp}\"\n href=\"${slotArgs.href}\"\n target=\"${slotArgs.target}\"\n icon=\"${slotArgs.icon}\"\n >\n <spw-list-title\n >Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam dapibus orci quam, ut lacinia turpis pharetra pulvinar. Duis vestibulum nisi nec quam. Aliquam dapibus\n orci quam, ut lacinia turpis pharetra pulvinar. Duis vestibulum nisi nec quam. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam dapibus orci quam, ut\n lacinia turpis pharetra pulvinar.\n </spw-list-title>\n <spw-list-description\n >Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam dapibus orci quam, ut lacinia turpis pharetra pulvinar. Duis vestibulum nisi nec quam. Aliquam dapibus\n orci quam, ut lacinia turpis pharetra pulvinar. Duis vestibulum nisi nec quam. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam dapibus orci quam, ut\n lacinia turpis pharetra pulvinar.\n </spw-list-description>\n </spw-list-item>\n <spw-list-item\n icon=\"${slotArgs.icon}\"\n variant=\"${slotArgs.variant}\"\n category=\"${slotArgs.category}\"\n category-link=\"${slotArgs.categoryLink}\"\n category-icon=\"${slotArgs.categoryIcon}\"\n line-clamp=\"${slotArgs.lineClamp}\"\n href=\"${slotArgs.href}\"\n target=\"${slotArgs.target}\"\n icon=\"${slotArgs.icon}\"\n >\n <spw-list-title\n >Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam dapibus orci quam, ut lacinia turpis pharetra pulvinar. Duis vestibulum nisi nec quam. Aliquam dapibus\n orci quam, ut lacinia turpis pharetra pulvinar. Duis vestibulum nisi nec quam. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam dapibus orci quam, ut\n lacinia turpis pharetra pulvinar.\n </spw-list-title>\n <spw-list-description\n >Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam dapibus orci quam, ut lacinia turpis pharetra pulvinar. Duis vestibulum nisi nec quam. Aliquam dapibus\n orci quam, ut lacinia turpis pharetra pulvinar. Duis vestibulum nisi nec quam. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam dapibus orci quam, ut\n lacinia turpis pharetra pulvinar.\n </spw-list-description>\n </spw-list-item>\n `;\n}\n\nconst TemplateDefault: StoryFn = args => {\n const element = document.createElement(elementTag);\n\n const controls = withComponentControls(componentsData, { tag: elementTag }) || {};\n const masterProps = controls.__realProps || Object.keys(controls);\n\n Object.entries(args).forEach(([key, val]) => {\n if (masterProps.includes(key)) {\n element.setAttribute(toKebabCase(key), val as string);\n } else if (key.startsWith('on')) {\n element.addEventListener(key.substring(2).toLowerCase(), val);\n }\n });\n\n element.innerHTML = htmlContentDefault(args);\n\n return element;\n};\n\nexport const Default = TemplateDefault.bind({});\nDefault.args = {\n variant: 'default',\n category: '',\n categoryLink: '',\n lineClamp: '2',\n href: 'http://google.com',\n target: '_blank',\n icon: 'fa-arrow-right',\n categoryIcon: '',\n};\n\nexport const Category = TemplateDefault.bind({});\nCategory.args = {\n variant: 'default',\n category: 'Catégorie',\n categoryLink: '',\n lineClamp: '2',\n href: 'http://google.com',\n target: '_blank',\n icon: '',\n categoryIcon: 'fa-file-signature',\n};\n\nexport const Shortcut = TemplateDefault.bind({});\nShortcut.args = {\n variant: 'shortcut',\n category: '',\n categoryLink: '',\n lineClamp: '1',\n href: 'http://google.com',\n target: '_blank',\n icon: 'fa-arrow-up-right-from-square',\n categoryIcon: '',\n};\n"]}
|
|
@@ -8,7 +8,7 @@ catch (error) {
|
|
|
8
8
|
}
|
|
9
9
|
import { withComponentControls, extractArgTypes, toKebabCase } from "../../../utils/utils";
|
|
10
10
|
const elementTag = 'spw-tile';
|
|
11
|
-
const subComponentTags = [];
|
|
11
|
+
const subComponentTags = ['spw-tile-description', 'spw-tile-title'];
|
|
12
12
|
const argTypes = Object.assign(Object.assign({}, withComponentControls(componentsData, { tag: elementTag })), extractArgTypes(componentsData, subComponentTags));
|
|
13
13
|
const meta = {
|
|
14
14
|
title: 'Organismes/Tuile (tile)',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spw-tile.stories.js","sourceRoot":"","sources":["../../../../src/stories/organisms/spw-tile/spw-tile.stories.ts"],"names":[],"mappings":"AAAA,IAAI,cAAmB,CAAC;AAExB,IAAI,CAAC;IACH,cAAc,GAAG,OAAO,CAAC,uCAAuC,CAAC,CAAC;AACpE,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,OAAO,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;IACpF,cAAc,GAAG,EAAE,CAAC;AACtB,CAAC;AAGD,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEnF,MAAM,UAAU,GAAG,UAAU,CAAC;AAE9B,MAAM,gBAAgB,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"spw-tile.stories.js","sourceRoot":"","sources":["../../../../src/stories/organisms/spw-tile/spw-tile.stories.ts"],"names":[],"mappings":"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","sourcesContent":["let componentsData: any;\n\ntry {\n componentsData = require('../../../../dist/components_json.json');\n} catch (error) {\n console.warn('components_json.json non trouvé. Utilisation de valeurs par défaut.');\n componentsData = {};\n}\n\nimport { Meta, StoryFn } from '@storybook/web-components';\nimport { withComponentControls, extractArgTypes, toKebabCase } from '@utils/utils';\n\nconst elementTag = 'spw-tile';\n\nconst subComponentTags = ['spw-tile-description', 'spw-tile-title'];\n\nconst argTypes = {\n ...withComponentControls(componentsData, { tag: elementTag }),\n ...extractArgTypes(componentsData, subComponentTags),\n};\n\nconst meta: Meta = {\n title: 'Organismes/Tuile (tile)',\n component: elementTag,\n argTypes,\n tags: ['autodocs'],\n parameters: {\n docs: {\n description: {\n component: `\n<strong class=\"mr-2\">Statut du composant :</strong> <spw-tag size=\"small\" variant=\"green\">Prêt</spw-tag>\n\nBloc visuel permettant aux utilisateurs de sélectionner des options ou de changer de page.\n\n[<spw-link>Consulter la documentation</spw-link>](https://zeroheight.com/2310c7a1e/p/3326e7-tuile-tile)\n `,\n },\n },\n },\n};\n\nexport default meta;\n\nfunction htmlContentIcon() {\n return /* HTML */ `\n <spw-icon icon=\"fa-paper-plane\"></spw-icon>\n <spw-tile-title>Titre de ma tuile</spw-tile-title>\n <spw-tile-description>Description de ma tuile</spw-tile-description>\n `;\n}\nfunction htmlContentLight() {\n return /* HTML */ ` <spw-tile-title>Titre de ma tuile</spw-tile-title> `;\n}\nfunction htmlContentBig() {\n return /* HTML */ ` <spw-tile-title>Titre de ma tuile</spw-tile-title> `;\n}\n\nconst TemplateIcon: StoryFn = args => {\n const element = document.createElement(elementTag);\n\n const controls = withComponentControls(componentsData, { tag: elementTag }) || {};\n const masterProps = controls.__realProps || Object.keys(controls);\n\n Object.entries(args).forEach(([key, val]) => {\n if (masterProps.includes(key)) {\n element.setAttribute(toKebabCase(key), val as string);\n } else if (key.startsWith('on')) {\n element.addEventListener(key.substring(2).toLowerCase(), val);\n }\n });\n\n element.innerHTML = htmlContentIcon();\n\n return element;\n};\n\nconst TemplateLight: StoryFn = args => {\n const element = document.createElement(elementTag);\n\n const controls = withComponentControls(componentsData, { tag: elementTag }) || {};\n const masterProps = controls.__realProps || Object.keys(controls);\n\n Object.entries(args).forEach(([key, val]) => {\n if (masterProps.includes(key)) {\n element.setAttribute(toKebabCase(key), val as string);\n } else if (key.startsWith('on')) {\n element.addEventListener(key.substring(2).toLowerCase(), val);\n }\n });\n\n element.innerHTML = htmlContentLight();\n\n return element;\n};\n\nconst TemplateBig: StoryFn = args => {\n const element = document.createElement(elementTag);\n\n const controls = withComponentControls(componentsData, { tag: elementTag }) || {};\n const masterProps = controls.__realProps || Object.keys(controls);\n\n Object.entries(args).forEach(([key, val]) => {\n if (masterProps.includes(key)) {\n element.setAttribute(toKebabCase(key), val as string);\n } else if (key.startsWith('on')) {\n element.addEventListener(key.substring(2).toLowerCase(), val);\n }\n });\n\n element.innerHTML = htmlContentBig();\n\n return element;\n};\n\nexport const Icon = TemplateIcon.bind({});\nIcon.args = {\n variant: 'icon',\n href: 'https://google.com',\n target: '_blank',\n};\n\nexport const Light = TemplateLight.bind({});\nLight.args = {\n variant: 'light',\n href: 'https://google.com',\n target: '_blank',\n imageSrc: 'https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5',\n imageAlt: 'Image de tuile',\n};\n\nexport const Big = TemplateBig.bind({});\nBig.args = {\n variant: 'big',\n href: 'https://google.com',\n target: '_blank',\n imageSrc: 'https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5',\n imageAlt: 'Image de tuile',\n};\n"]}
|
|
@@ -26,6 +26,7 @@ const enumOptions = (prop) => prop.type
|
|
|
26
26
|
const generateProp = (prop, componentTag, prefixPropName = false) => {
|
|
27
27
|
const category = componentTag ? `Props - ${componentTag}` : 'properties';
|
|
28
28
|
const propName = prefixPropName && componentTag ? `${componentTag}__${prop.name}` : prop.name;
|
|
29
|
+
const kebabCaseName = toKebabCase(prop.name);
|
|
29
30
|
const baseTableConfig = {
|
|
30
31
|
category: category,
|
|
31
32
|
defaultValue: { summary: prop.default },
|
|
@@ -36,7 +37,7 @@ const generateProp = (prop, componentTag, prefixPropName = false) => {
|
|
|
36
37
|
control: 'text',
|
|
37
38
|
description: description(prop),
|
|
38
39
|
defaultValue: prop.default,
|
|
39
|
-
name:
|
|
40
|
+
name: kebabCaseName,
|
|
40
41
|
table: Object.assign(Object.assign({}, baseTableConfig), { type: { summary: 'string' } }),
|
|
41
42
|
},
|
|
42
43
|
};
|
|
@@ -47,7 +48,7 @@ const generateProp = (prop, componentTag, prefixPropName = false) => {
|
|
|
47
48
|
control: 'boolean',
|
|
48
49
|
description: description(prop),
|
|
49
50
|
defaultValue: prop.default,
|
|
50
|
-
name:
|
|
51
|
+
name: kebabCaseName,
|
|
51
52
|
table: Object.assign(Object.assign({}, baseTableConfig), { type: { summary: 'boolean' } }),
|
|
52
53
|
},
|
|
53
54
|
};
|
|
@@ -58,7 +59,7 @@ const generateProp = (prop, componentTag, prefixPropName = false) => {
|
|
|
58
59
|
control: 'number',
|
|
59
60
|
description: description(prop),
|
|
60
61
|
defaultValue: prop.default,
|
|
61
|
-
name:
|
|
62
|
+
name: kebabCaseName,
|
|
62
63
|
table: Object.assign(Object.assign({}, baseTableConfig), { type: { summary: 'number' } }),
|
|
63
64
|
},
|
|
64
65
|
};
|
|
@@ -70,7 +71,7 @@ const generateProp = (prop, componentTag, prefixPropName = false) => {
|
|
|
70
71
|
defaultValue: prop.default,
|
|
71
72
|
options: enumOptions(prop),
|
|
72
73
|
description: description(prop),
|
|
73
|
-
name:
|
|
74
|
+
name: kebabCaseName,
|
|
74
75
|
table: Object.assign(Object.assign({}, baseTableConfig), { type: { summary: 'enum' } }),
|
|
75
76
|
},
|
|
76
77
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"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","sourcesContent":["export function format(first: string, middle: string, last: string): string {\n return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');\n}\n\nexport function toKebabCase(str: string) {\n return str.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nexport function formatDate(date: string): string {\n const parts = date.split('-');\n return `${parts[2]}/${parts[1]}/${parts[0]}`;\n}\n\nexport function stripHtmlContent(content: string): string {\n const div = document.createElement('div');\n div.innerHTML = content;\n return div.textContent || div.innerText || '';\n}\n\ninterface ComponentProp {\n name: string;\n type: string;\n docs: string;\n default: string;\n}\n\ninterface ComponentEvent {\n event: string;\n docs: string;\n detail: string;\n}\n\ninterface ComponentMethod {\n name: string;\n signature: string;\n docs: string;\n returns: {\n type: string;\n docs: string;\n };\n parameters: Array<{\n name: string;\n type: string;\n docs: string;\n }>;\n}\n\ninterface ComponentInfo {\n name: string;\n props: ComponentProp[];\n events: ComponentEvent[];\n methods: ComponentMethod[];\n}\n\nconst description = (prop: ComponentProp | ComponentEvent | ComponentMethod) => (prop.docs || '').trim();\n\nconst isText = (prop: ComponentProp) => prop.type === 'string';\nconst isBoolean = (prop: ComponentProp) => prop.type === 'boolean';\nconst isEnum = (prop: ComponentProp) => prop.type.includes('|');\nconst isNumber = (prop: ComponentProp) => prop.type === 'number';\n\nconst enumOptions = (prop: ComponentProp) =>\n prop.type\n .split('|')\n .map(t => t.trim())\n .map(t => (t === '\"\"' ? 'default' : t))\n .map(t => t.replace(/^\"(.*)\"$/, '$1'));\n\nconst generateProp = (prop: ComponentProp, componentTag?: string, prefixPropName: boolean = false) => {\n const category = componentTag ? `Props - ${componentTag}` : 'properties';\n const propName = prefixPropName && componentTag ? `${componentTag}__${prop.name}` : prop.name;\n\n const baseTableConfig = {\n category: category,\n defaultValue: { summary: prop.default },\n };\n\n if (isText(prop)) {\n return {\n [propName]: {\n control: 'text',\n description: description(prop),\n defaultValue: prop.default,\n name: prop.name,\n table: {\n ...baseTableConfig,\n type: { summary: 'string' },\n },\n },\n };\n }\n\n if (isBoolean(prop)) {\n return {\n [propName]: {\n control: 'boolean',\n description: description(prop),\n defaultValue: prop.default,\n name: prop.name,\n table: {\n ...baseTableConfig,\n type: { summary: 'boolean' },\n },\n },\n };\n }\n\n if (isNumber(prop)) {\n return {\n [propName]: {\n control: 'number',\n description: description(prop),\n defaultValue: prop.default,\n name: prop.name,\n table: {\n ...baseTableConfig,\n type: { summary: 'number' },\n },\n },\n };\n }\n\n if (isEnum(prop)) {\n return {\n [propName]: {\n control: 'select',\n defaultValue: prop.default,\n options: enumOptions(prop),\n description: description(prop),\n name: prop.name,\n table: {\n ...baseTableConfig,\n type: { summary: 'enum' },\n },\n },\n };\n }\n\n return {};\n};\n\nconst generateProps = (props: ComponentProp[], componentTag?: string, prefixPropName: boolean = false) => {\n let args = {};\n props.forEach(prop => (args = { ...args, ...generateProp(prop, componentTag, prefixPropName) }));\n return args;\n};\n\nconst generateEvent = (event: ComponentEvent, componentTag?: string, prefixEventName: boolean = false) => {\n function capitalizeFirstLetter(string: string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n }\n\n const category = componentTag ? `Events - ${componentTag}` : 'events';\n const originalEventName = `on${capitalizeFirstLetter(event.event)}`;\n const eventName = prefixEventName && componentTag ? `${componentTag}__${originalEventName}` : originalEventName;\n\n return {\n [eventName]: {\n action: event.event,\n description: description(event),\n name: originalEventName,\n table: {\n defaultValue: { summary: event.event },\n category: category,\n type: { summary: event.detail },\n },\n },\n };\n};\n\nconst generateEvents = (events: ComponentEvent[], componentTag?: string, prefixEventName: boolean = false) => {\n let args = {};\n events.forEach(event => (args = { ...args, ...generateEvent(event, componentTag, prefixEventName) }));\n return args;\n};\n\nconst generateMethod = (method: ComponentMethod, componentTag?: string, prefixMethodName: boolean = false) => {\n const category = componentTag ? `Methods - ${componentTag}` : 'methods';\n const methodName = prefixMethodName && componentTag ? `${componentTag}__${method.name}` : method.name;\n\n return {\n [methodName]: {\n action: method.name,\n description: description(method),\n name: method.name,\n table: {\n category: category,\n type: { summary: method.signature },\n defaultValue: { summary: method.returns.type },\n },\n },\n };\n};\n\nconst generateMethods = (methods: ComponentMethod[], componentTag?: string, prefixMethodName: boolean = false) => {\n let args = {};\n methods.forEach(method => (args = { ...args, ...generateMethod(method, componentTag, prefixMethodName) }));\n return args;\n};\n\nconst extractComponentInfoByTag = (componentsData: any, tag: string): ComponentInfo | null => {\n const component = componentsData.components.find(c => c.tag === tag);\n\n if (!component) {\n console.error(`Component with tag ${tag} not found`);\n return null;\n }\n\n const { props, events, methods } = component;\n\n const propInfo = props.map(prop => ({\n name: prop.name,\n type: prop.type,\n docs: prop.docs,\n default: prop.default || '',\n }));\n\n const eventInfo = events.map(event => ({\n event: event.event,\n docs: event.docs,\n detail: event.detail,\n }));\n\n const methodInfo = methods.map(method => ({\n name: method.name,\n signature: method.signature,\n docs: method.docs,\n returns: method.returns,\n parameters: method.parameters,\n }));\n\n return {\n name: tag,\n props: propInfo,\n events: eventInfo,\n methods: methodInfo,\n };\n};\n\nconst generateHTMLTable = (componentInfo: ComponentInfo): string => {\n if (!componentInfo) {\n return `<p>Component not found</p>`;\n }\n\n const { props, events, methods } = componentInfo;\n\n const propsRows = props\n .map(\n prop => `\n <tr>\n <td>${prop.name}</td>\n <td>${prop.type}</td>\n <td>${prop.docs}</td>\n <td>${prop.default}</td>\n </tr>\n `,\n )\n .join('');\n\n const eventsRows = events\n .map(\n event => `\n <tr>\n <td>${event.event}</td>\n <td>${event.detail}</td>\n <td>${event.docs}</td>\n </tr>\n `,\n )\n .join('');\n\n const methodsRows = methods\n .map(\n method => `\n <tr>\n <td>${method.name}</td>\n <td>${method.signature}</td>\n <td>${method.returns.type}</td>\n <td>${method.docs}</td>\n </tr>\n `,\n )\n .join('');\n\n return `\n <h3>Propriétés</h3>\n <table class=\"w-full\">\n <thead>\n <tr>\n <th>Propriété</th>\n <th>Type</th>\n <th>Description</th>\n <th>Valeur par défaut</th>\n </tr>\n </thead>\n <tbody>\n ${propsRows}\n </tbody>\n </table>\n <h3>Événements</h3>\n <table class=\"w-full\">\n <thead>\n <tr>\n <th>Événement</th>\n <th>Détail</th>\n <th>Description</th>\n </tr>\n </thead>\n <tbody>\n ${eventsRows}\n </tbody>\n </table>\n <h3>Méthodes</h3>\n <table class=\"w-full\">\n <thead>\n <tr>\n <th>Méthode</th>\n <th>Signature</th>\n <th>Retour</th>\n <th>Description</th>\n </tr>\n </thead>\n <tbody>\n ${methodsRows}\n </tbody>\n </table>\n `;\n};\n\nexport const generateComponentTable = (componentsData: any, tag: string): string => {\n const componentInfo = extractComponentInfoByTag(componentsData, tag);\n return generateHTMLTable(componentInfo);\n};\n\nexport const withComponentControls = (\n componentsData: any,\n { tag, customTokens = [], prefixNames = false }: { tag: string; customTokens?: { name: string; description: string; defaultValue: string }[]; prefixNames?: boolean },\n): any => {\n const component = componentsData.components.find(c => c.tag === tag);\n const props = component?.props || [];\n const events = component?.events || [];\n const methods = component?.methods || [];\n\n const tokenControls = customTokens.reduce((acc, token) => {\n const tokenName = prefixNames ? `${tag}__${token.name}` : token.name;\n acc[tokenName] = {\n control: true,\n description: token.description,\n table: {\n category: `Tokens - ${tag}`,\n type: { summary: 'CSS Variable' },\n defaultValue: { summary: token.defaultValue },\n },\n };\n return acc;\n }, {});\n\n const propControls = generateProps(props as ComponentProp[], tag, prefixNames);\n const eventControls = generateEvents(events as ComponentEvent[], tag, prefixNames);\n const methodControls = generateMethods(methods as ComponentMethod[], tag, prefixNames);\n\n const allControls = {\n ...propControls,\n ...eventControls,\n ...methodControls,\n ...tokenControls,\n };\n\n Object.defineProperty(allControls, '__realProps', {\n value: Object.keys(propControls).concat(Object.keys(tokenControls)),\n enumerable: false,\n });\n\n return allControls;\n};\n\nexport function extractArgTypes(componentsData: any, subComponentTags: string[]) {\n return subComponentTags.reduce((acc, tag) => {\n const subComponentArgTypes = withComponentControls(componentsData, { tag, prefixNames: true });\n return { ...acc, ...subComponentArgTypes };\n }, {});\n}\n\nexport function formatFileSize(sizeInBytes) {\n const sizeInMB = sizeInBytes / (1024 * 1024);\n let formattedSize = sizeInMB.toFixed(2).replace('.', ',');\n\n if (sizeInMB > 0 && sizeInMB < 0.01) {\n formattedSize = '0,01';\n } else if (sizeInMB === 0) {\n formattedSize = '0,00';\n }\n\n return `${formattedSize} Mo`;\n}\n\nexport function hasSlotContent(el: HTMLElement): boolean {\n const slot = el.querySelector('slot');\n return slot && slot.assignedNodes().length > 0;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"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","sourcesContent":["export function format(first: string, middle: string, last: string): string {\n return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');\n}\n\nexport function toKebabCase(str: string) {\n return str.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nexport function formatDate(date: string): string {\n const parts = date.split('-');\n return `${parts[2]}/${parts[1]}/${parts[0]}`;\n}\n\nexport function stripHtmlContent(content: string): string {\n const div = document.createElement('div');\n div.innerHTML = content;\n return div.textContent || div.innerText || '';\n}\n\ninterface ComponentProp {\n name: string;\n type: string;\n docs: string;\n default: string;\n}\n\ninterface ComponentEvent {\n event: string;\n docs: string;\n detail: string;\n}\n\ninterface ComponentMethod {\n name: string;\n signature: string;\n docs: string;\n returns: {\n type: string;\n docs: string;\n };\n parameters: Array<{\n name: string;\n type: string;\n docs: string;\n }>;\n}\n\ninterface ComponentInfo {\n name: string;\n props: ComponentProp[];\n events: ComponentEvent[];\n methods: ComponentMethod[];\n}\n\nconst description = (prop: ComponentProp | ComponentEvent | ComponentMethod) => (prop.docs || '').trim();\n\nconst isText = (prop: ComponentProp) => prop.type === 'string';\nconst isBoolean = (prop: ComponentProp) => prop.type === 'boolean';\nconst isEnum = (prop: ComponentProp) => prop.type.includes('|');\nconst isNumber = (prop: ComponentProp) => prop.type === 'number';\n\nconst enumOptions = (prop: ComponentProp) =>\n prop.type\n .split('|')\n .map(t => t.trim())\n .map(t => (t === '\"\"' ? 'default' : t))\n .map(t => t.replace(/^\"(.*)\"$/, '$1'));\n\nconst generateProp = (prop: ComponentProp, componentTag?: string, prefixPropName: boolean = false) => {\n const category = componentTag ? `Props - ${componentTag}` : 'properties';\n const propName = prefixPropName && componentTag ? `${componentTag}__${prop.name}` : prop.name;\n const kebabCaseName = toKebabCase(prop.name);\n\n const baseTableConfig = {\n category: category,\n defaultValue: { summary: prop.default },\n };\n\n if (isText(prop)) {\n return {\n [propName]: {\n control: 'text',\n description: description(prop),\n defaultValue: prop.default,\n name: kebabCaseName,\n table: {\n ...baseTableConfig,\n type: { summary: 'string' },\n },\n },\n };\n }\n\n if (isBoolean(prop)) {\n return {\n [propName]: {\n control: 'boolean',\n description: description(prop),\n defaultValue: prop.default,\n name: kebabCaseName,\n table: {\n ...baseTableConfig,\n type: { summary: 'boolean' },\n },\n },\n };\n }\n\n if (isNumber(prop)) {\n return {\n [propName]: {\n control: 'number',\n description: description(prop),\n defaultValue: prop.default,\n name: kebabCaseName,\n table: {\n ...baseTableConfig,\n type: { summary: 'number' },\n },\n },\n };\n }\n\n if (isEnum(prop)) {\n return {\n [propName]: {\n control: 'select',\n defaultValue: prop.default,\n options: enumOptions(prop),\n description: description(prop),\n name: kebabCaseName,\n table: {\n ...baseTableConfig,\n type: { summary: 'enum' },\n },\n },\n };\n }\n\n return {};\n};\n\nconst generateProps = (props: ComponentProp[], componentTag?: string, prefixPropName: boolean = false) => {\n let args = {};\n props.forEach(prop => (args = { ...args, ...generateProp(prop, componentTag, prefixPropName) }));\n return args;\n};\n\nconst generateEvent = (event: ComponentEvent, componentTag?: string, prefixEventName: boolean = false) => {\n function capitalizeFirstLetter(string: string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n }\n\n const category = componentTag ? `Events - ${componentTag}` : 'events';\n const originalEventName = `on${capitalizeFirstLetter(event.event)}`;\n const eventName = prefixEventName && componentTag ? `${componentTag}__${originalEventName}` : originalEventName;\n\n return {\n [eventName]: {\n action: event.event,\n description: description(event),\n name: originalEventName,\n table: {\n defaultValue: { summary: event.event },\n category: category,\n type: { summary: event.detail },\n },\n },\n };\n};\n\nconst generateEvents = (events: ComponentEvent[], componentTag?: string, prefixEventName: boolean = false) => {\n let args = {};\n events.forEach(event => (args = { ...args, ...generateEvent(event, componentTag, prefixEventName) }));\n return args;\n};\n\nconst generateMethod = (method: ComponentMethod, componentTag?: string, prefixMethodName: boolean = false) => {\n const category = componentTag ? `Methods - ${componentTag}` : 'methods';\n const methodName = prefixMethodName && componentTag ? `${componentTag}__${method.name}` : method.name;\n\n return {\n [methodName]: {\n action: method.name,\n description: description(method),\n name: method.name,\n table: {\n category: category,\n type: { summary: method.signature },\n defaultValue: { summary: method.returns.type },\n },\n },\n };\n};\n\nconst generateMethods = (methods: ComponentMethod[], componentTag?: string, prefixMethodName: boolean = false) => {\n let args = {};\n methods.forEach(method => (args = { ...args, ...generateMethod(method, componentTag, prefixMethodName) }));\n return args;\n};\n\nconst extractComponentInfoByTag = (componentsData: any, tag: string): ComponentInfo | null => {\n const component = componentsData.components.find(c => c.tag === tag);\n\n if (!component) {\n console.error(`Component with tag ${tag} not found`);\n return null;\n }\n\n const { props, events, methods } = component;\n\n const propInfo = props.map(prop => ({\n name: prop.name,\n type: prop.type,\n docs: prop.docs,\n default: prop.default || '',\n }));\n\n const eventInfo = events.map(event => ({\n event: event.event,\n docs: event.docs,\n detail: event.detail,\n }));\n\n const methodInfo = methods.map(method => ({\n name: method.name,\n signature: method.signature,\n docs: method.docs,\n returns: method.returns,\n parameters: method.parameters,\n }));\n\n return {\n name: tag,\n props: propInfo,\n events: eventInfo,\n methods: methodInfo,\n };\n};\n\nconst generateHTMLTable = (componentInfo: ComponentInfo): string => {\n if (!componentInfo) {\n return `<p>Component not found</p>`;\n }\n\n const { props, events, methods } = componentInfo;\n\n const propsRows = props\n .map(\n prop => `\n <tr>\n <td>${prop.name}</td>\n <td>${prop.type}</td>\n <td>${prop.docs}</td>\n <td>${prop.default}</td>\n </tr>\n `,\n )\n .join('');\n\n const eventsRows = events\n .map(\n event => `\n <tr>\n <td>${event.event}</td>\n <td>${event.detail}</td>\n <td>${event.docs}</td>\n </tr>\n `,\n )\n .join('');\n\n const methodsRows = methods\n .map(\n method => `\n <tr>\n <td>${method.name}</td>\n <td>${method.signature}</td>\n <td>${method.returns.type}</td>\n <td>${method.docs}</td>\n </tr>\n `,\n )\n .join('');\n\n return `\n <h3>Propriétés</h3>\n <table class=\"w-full\">\n <thead>\n <tr>\n <th>Propriété</th>\n <th>Type</th>\n <th>Description</th>\n <th>Valeur par défaut</th>\n </tr>\n </thead>\n <tbody>\n ${propsRows}\n </tbody>\n </table>\n <h3>Événements</h3>\n <table class=\"w-full\">\n <thead>\n <tr>\n <th>Événement</th>\n <th>Détail</th>\n <th>Description</th>\n </tr>\n </thead>\n <tbody>\n ${eventsRows}\n </tbody>\n </table>\n <h3>Méthodes</h3>\n <table class=\"w-full\">\n <thead>\n <tr>\n <th>Méthode</th>\n <th>Signature</th>\n <th>Retour</th>\n <th>Description</th>\n </tr>\n </thead>\n <tbody>\n ${methodsRows}\n </tbody>\n </table>\n `;\n};\n\nexport const generateComponentTable = (componentsData: any, tag: string): string => {\n const componentInfo = extractComponentInfoByTag(componentsData, tag);\n return generateHTMLTable(componentInfo);\n};\n\nexport const withComponentControls = (\n componentsData: any,\n { tag, customTokens = [], prefixNames = false }: { tag: string; customTokens?: { name: string; description: string; defaultValue: string }[]; prefixNames?: boolean },\n): any => {\n const component = componentsData.components.find(c => c.tag === tag);\n const props = component?.props || [];\n const events = component?.events || [];\n const methods = component?.methods || [];\n\n const tokenControls = customTokens.reduce((acc, token) => {\n const tokenName = prefixNames ? `${tag}__${token.name}` : token.name;\n acc[tokenName] = {\n control: true,\n description: token.description,\n table: {\n category: `Tokens - ${tag}`,\n type: { summary: 'CSS Variable' },\n defaultValue: { summary: token.defaultValue },\n },\n };\n return acc;\n }, {});\n\n const propControls = generateProps(props as ComponentProp[], tag, prefixNames);\n const eventControls = generateEvents(events as ComponentEvent[], tag, prefixNames);\n const methodControls = generateMethods(methods as ComponentMethod[], tag, prefixNames);\n\n const allControls = {\n ...propControls,\n ...eventControls,\n ...methodControls,\n ...tokenControls,\n };\n\n Object.defineProperty(allControls, '__realProps', {\n value: Object.keys(propControls).concat(Object.keys(tokenControls)),\n enumerable: false,\n });\n\n return allControls;\n};\n\nexport function extractArgTypes(componentsData: any, subComponentTags: string[]) {\n return subComponentTags.reduce((acc, tag) => {\n const subComponentArgTypes = withComponentControls(componentsData, { tag, prefixNames: true });\n return { ...acc, ...subComponentArgTypes };\n }, {});\n}\n\nexport function formatFileSize(sizeInBytes) {\n const sizeInMB = sizeInBytes / (1024 * 1024);\n let formattedSize = sizeInMB.toFixed(2).replace('.', ',');\n\n if (sizeInMB > 0 && sizeInMB < 0.01) {\n formattedSize = '0,01';\n } else if (sizeInMB === 0) {\n formattedSize = '0,00';\n }\n\n return `${formattedSize} Mo`;\n}\n\nexport function hasSlotContent(el: HTMLElement): boolean {\n const slot = el.querySelector('slot');\n return slot && slot.assignedNodes().length > 0;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-BBi01mKM.js","mappings":"AAQM,SAAU,UAAU,CAAC,IAAY,EAAA;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AAC7B,IAAA,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;AAC9C;AAoXM,SAAU,cAAc,CAAC,WAAW,EAAA;IACxC,MAAM,QAAQ,GAAG,WAAW,IAAI,IAAI,GAAG,IAAI,CAAC;AAC5C,IAAA,IAAI,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;IAEzD,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,IAAI,EAAE;QACnC,aAAa,GAAG,MAAM;;AACjB,SAAA,IAAI,QAAQ,KAAK,CAAC,EAAE;QACzB,aAAa,GAAG,MAAM;;IAGxB,OAAO,CAAA,EAAG,aAAa,CAAA,GAAA,CAAK;AAC9B;;;;","names":[],"sources":["src/utils/utils.ts"],"sourcesContent":["export function format(first: string, middle: string, last: string): string {\n return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');\n}\n\nexport function toKebabCase(str: string) {\n return str.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nexport function formatDate(date: string): string {\n const parts = date.split('-');\n return `${parts[2]}/${parts[1]}/${parts[0]}`;\n}\n\nexport function stripHtmlContent(content: string): string {\n const div = document.createElement('div');\n div.innerHTML = content;\n return div.textContent || div.innerText || '';\n}\n\ninterface ComponentProp {\n name: string;\n type: string;\n docs: string;\n default: string;\n}\n\ninterface ComponentEvent {\n event: string;\n docs: string;\n detail: string;\n}\n\ninterface ComponentMethod {\n name: string;\n signature: string;\n docs: string;\n returns: {\n type: string;\n docs: string;\n };\n parameters: Array<{\n name: string;\n type: string;\n docs: string;\n }>;\n}\n\ninterface ComponentInfo {\n name: string;\n props: ComponentProp[];\n events: ComponentEvent[];\n methods: ComponentMethod[];\n}\n\nconst description = (prop: ComponentProp | ComponentEvent | ComponentMethod) => (prop.docs || '').trim();\n\nconst isText = (prop: ComponentProp) => prop.type === 'string';\nconst isBoolean = (prop: ComponentProp) => prop.type === 'boolean';\nconst isEnum = (prop: ComponentProp) => prop.type.includes('|');\nconst isNumber = (prop: ComponentProp) => prop.type === 'number';\n\nconst enumOptions = (prop: ComponentProp) =>\n prop.type\n .split('|')\n .map(t => t.trim())\n .map(t => (t === '\"\"' ? 'default' : t))\n .map(t => t.replace(/^\"(.*)\"$/, '$1'));\n\nconst generateProp = (prop: ComponentProp, componentTag?: string, prefixPropName: boolean = false) => {\n const category = componentTag ? `Props - ${componentTag}` : 'properties';\n const propName = prefixPropName && componentTag ? `${componentTag}__${prop.name}` : prop.name;\n\n const baseTableConfig = {\n category: category,\n defaultValue: { summary: prop.default },\n };\n\n if (isText(prop)) {\n return {\n [propName]: {\n control: 'text',\n description: description(prop),\n defaultValue: prop.default,\n name: prop.name,\n table: {\n ...baseTableConfig,\n type: { summary: 'string' },\n },\n },\n };\n }\n\n if (isBoolean(prop)) {\n return {\n [propName]: {\n control: 'boolean',\n description: description(prop),\n defaultValue: prop.default,\n name: prop.name,\n table: {\n ...baseTableConfig,\n type: { summary: 'boolean' },\n },\n },\n };\n }\n\n if (isNumber(prop)) {\n return {\n [propName]: {\n control: 'number',\n description: description(prop),\n defaultValue: prop.default,\n name: prop.name,\n table: {\n ...baseTableConfig,\n type: { summary: 'number' },\n },\n },\n };\n }\n\n if (isEnum(prop)) {\n return {\n [propName]: {\n control: 'select',\n defaultValue: prop.default,\n options: enumOptions(prop),\n description: description(prop),\n name: prop.name,\n table: {\n ...baseTableConfig,\n type: { summary: 'enum' },\n },\n },\n };\n }\n\n return {};\n};\n\nconst generateProps = (props: ComponentProp[], componentTag?: string, prefixPropName: boolean = false) => {\n let args = {};\n props.forEach(prop => (args = { ...args, ...generateProp(prop, componentTag, prefixPropName) }));\n return args;\n};\n\nconst generateEvent = (event: ComponentEvent, componentTag?: string, prefixEventName: boolean = false) => {\n function capitalizeFirstLetter(string: string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n }\n\n const category = componentTag ? `Events - ${componentTag}` : 'events';\n const originalEventName = `on${capitalizeFirstLetter(event.event)}`;\n const eventName = prefixEventName && componentTag ? `${componentTag}__${originalEventName}` : originalEventName;\n\n return {\n [eventName]: {\n action: event.event,\n description: description(event),\n name: originalEventName,\n table: {\n defaultValue: { summary: event.event },\n category: category,\n type: { summary: event.detail },\n },\n },\n };\n};\n\nconst generateEvents = (events: ComponentEvent[], componentTag?: string, prefixEventName: boolean = false) => {\n let args = {};\n events.forEach(event => (args = { ...args, ...generateEvent(event, componentTag, prefixEventName) }));\n return args;\n};\n\nconst generateMethod = (method: ComponentMethod, componentTag?: string, prefixMethodName: boolean = false) => {\n const category = componentTag ? `Methods - ${componentTag}` : 'methods';\n const methodName = prefixMethodName && componentTag ? `${componentTag}__${method.name}` : method.name;\n\n return {\n [methodName]: {\n action: method.name,\n description: description(method),\n name: method.name,\n table: {\n category: category,\n type: { summary: method.signature },\n defaultValue: { summary: method.returns.type },\n },\n },\n };\n};\n\nconst generateMethods = (methods: ComponentMethod[], componentTag?: string, prefixMethodName: boolean = false) => {\n let args = {};\n methods.forEach(method => (args = { ...args, ...generateMethod(method, componentTag, prefixMethodName) }));\n return args;\n};\n\nconst extractComponentInfoByTag = (componentsData: any, tag: string): ComponentInfo | null => {\n const component = componentsData.components.find(c => c.tag === tag);\n\n if (!component) {\n console.error(`Component with tag ${tag} not found`);\n return null;\n }\n\n const { props, events, methods } = component;\n\n const propInfo = props.map(prop => ({\n name: prop.name,\n type: prop.type,\n docs: prop.docs,\n default: prop.default || '',\n }));\n\n const eventInfo = events.map(event => ({\n event: event.event,\n docs: event.docs,\n detail: event.detail,\n }));\n\n const methodInfo = methods.map(method => ({\n name: method.name,\n signature: method.signature,\n docs: method.docs,\n returns: method.returns,\n parameters: method.parameters,\n }));\n\n return {\n name: tag,\n props: propInfo,\n events: eventInfo,\n methods: methodInfo,\n };\n};\n\nconst generateHTMLTable = (componentInfo: ComponentInfo): string => {\n if (!componentInfo) {\n return `<p>Component not found</p>`;\n }\n\n const { props, events, methods } = componentInfo;\n\n const propsRows = props\n .map(\n prop => `\n <tr>\n <td>${prop.name}</td>\n <td>${prop.type}</td>\n <td>${prop.docs}</td>\n <td>${prop.default}</td>\n </tr>\n `,\n )\n .join('');\n\n const eventsRows = events\n .map(\n event => `\n <tr>\n <td>${event.event}</td>\n <td>${event.detail}</td>\n <td>${event.docs}</td>\n </tr>\n `,\n )\n .join('');\n\n const methodsRows = methods\n .map(\n method => `\n <tr>\n <td>${method.name}</td>\n <td>${method.signature}</td>\n <td>${method.returns.type}</td>\n <td>${method.docs}</td>\n </tr>\n `,\n )\n .join('');\n\n return `\n <h3>Propriétés</h3>\n <table class=\"w-full\">\n <thead>\n <tr>\n <th>Propriété</th>\n <th>Type</th>\n <th>Description</th>\n <th>Valeur par défaut</th>\n </tr>\n </thead>\n <tbody>\n ${propsRows}\n </tbody>\n </table>\n <h3>Événements</h3>\n <table class=\"w-full\">\n <thead>\n <tr>\n <th>Événement</th>\n <th>Détail</th>\n <th>Description</th>\n </tr>\n </thead>\n <tbody>\n ${eventsRows}\n </tbody>\n </table>\n <h3>Méthodes</h3>\n <table class=\"w-full\">\n <thead>\n <tr>\n <th>Méthode</th>\n <th>Signature</th>\n <th>Retour</th>\n <th>Description</th>\n </tr>\n </thead>\n <tbody>\n ${methodsRows}\n </tbody>\n </table>\n `;\n};\n\nexport const generateComponentTable = (componentsData: any, tag: string): string => {\n const componentInfo = extractComponentInfoByTag(componentsData, tag);\n return generateHTMLTable(componentInfo);\n};\n\nexport const withComponentControls = (\n componentsData: any,\n { tag, customTokens = [], prefixNames = false }: { tag: string; customTokens?: { name: string; description: string; defaultValue: string }[]; prefixNames?: boolean },\n): any => {\n const component = componentsData.components.find(c => c.tag === tag);\n const props = component?.props || [];\n const events = component?.events || [];\n const methods = component?.methods || [];\n\n const tokenControls = customTokens.reduce((acc, token) => {\n const tokenName = prefixNames ? `${tag}__${token.name}` : token.name;\n acc[tokenName] = {\n control: true,\n description: token.description,\n table: {\n category: `Tokens - ${tag}`,\n type: { summary: 'CSS Variable' },\n defaultValue: { summary: token.defaultValue },\n },\n };\n return acc;\n }, {});\n\n const propControls = generateProps(props as ComponentProp[], tag, prefixNames);\n const eventControls = generateEvents(events as ComponentEvent[], tag, prefixNames);\n const methodControls = generateMethods(methods as ComponentMethod[], tag, prefixNames);\n\n const allControls = {\n ...propControls,\n ...eventControls,\n ...methodControls,\n ...tokenControls,\n };\n\n Object.defineProperty(allControls, '__realProps', {\n value: Object.keys(propControls).concat(Object.keys(tokenControls)),\n enumerable: false,\n });\n\n return allControls;\n};\n\nexport function extractArgTypes(componentsData: any, subComponentTags: string[]) {\n return subComponentTags.reduce((acc, tag) => {\n const subComponentArgTypes = withComponentControls(componentsData, { tag, prefixNames: true });\n return { ...acc, ...subComponentArgTypes };\n }, {});\n}\n\nexport function formatFileSize(sizeInBytes) {\n const sizeInMB = sizeInBytes / (1024 * 1024);\n let formattedSize = sizeInMB.toFixed(2).replace('.', ',');\n\n if (sizeInMB > 0 && sizeInMB < 0.01) {\n formattedSize = '0,01';\n } else if (sizeInMB === 0) {\n formattedSize = '0,00';\n }\n\n return `${formattedSize} Mo`;\n}\n\nexport function hasSlotContent(el: HTMLElement): boolean {\n const slot = el.querySelector('slot');\n return slot && slot.assignedNodes().length > 0;\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-BBi01mKM.js","mappings":"AAQM,SAAU,UAAU,CAAC,IAAY,EAAA;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AAC7B,IAAA,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;AAC9C;AAqXM,SAAU,cAAc,CAAC,WAAW,EAAA;IACxC,MAAM,QAAQ,GAAG,WAAW,IAAI,IAAI,GAAG,IAAI,CAAC;AAC5C,IAAA,IAAI,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;IAEzD,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,IAAI,EAAE;QACnC,aAAa,GAAG,MAAM;;AACjB,SAAA,IAAI,QAAQ,KAAK,CAAC,EAAE;QACzB,aAAa,GAAG,MAAM;;IAGxB,OAAO,CAAA,EAAG,aAAa,CAAA,GAAA,CAAK;AAC9B;;;;","names":[],"sources":["src/utils/utils.ts"],"sourcesContent":["export function format(first: string, middle: string, last: string): string {\n return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');\n}\n\nexport function toKebabCase(str: string) {\n return str.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nexport function formatDate(date: string): string {\n const parts = date.split('-');\n return `${parts[2]}/${parts[1]}/${parts[0]}`;\n}\n\nexport function stripHtmlContent(content: string): string {\n const div = document.createElement('div');\n div.innerHTML = content;\n return div.textContent || div.innerText || '';\n}\n\ninterface ComponentProp {\n name: string;\n type: string;\n docs: string;\n default: string;\n}\n\ninterface ComponentEvent {\n event: string;\n docs: string;\n detail: string;\n}\n\ninterface ComponentMethod {\n name: string;\n signature: string;\n docs: string;\n returns: {\n type: string;\n docs: string;\n };\n parameters: Array<{\n name: string;\n type: string;\n docs: string;\n }>;\n}\n\ninterface ComponentInfo {\n name: string;\n props: ComponentProp[];\n events: ComponentEvent[];\n methods: ComponentMethod[];\n}\n\nconst description = (prop: ComponentProp | ComponentEvent | ComponentMethod) => (prop.docs || '').trim();\n\nconst isText = (prop: ComponentProp) => prop.type === 'string';\nconst isBoolean = (prop: ComponentProp) => prop.type === 'boolean';\nconst isEnum = (prop: ComponentProp) => prop.type.includes('|');\nconst isNumber = (prop: ComponentProp) => prop.type === 'number';\n\nconst enumOptions = (prop: ComponentProp) =>\n prop.type\n .split('|')\n .map(t => t.trim())\n .map(t => (t === '\"\"' ? 'default' : t))\n .map(t => t.replace(/^\"(.*)\"$/, '$1'));\n\nconst generateProp = (prop: ComponentProp, componentTag?: string, prefixPropName: boolean = false) => {\n const category = componentTag ? `Props - ${componentTag}` : 'properties';\n const propName = prefixPropName && componentTag ? `${componentTag}__${prop.name}` : prop.name;\n const kebabCaseName = toKebabCase(prop.name);\n\n const baseTableConfig = {\n category: category,\n defaultValue: { summary: prop.default },\n };\n\n if (isText(prop)) {\n return {\n [propName]: {\n control: 'text',\n description: description(prop),\n defaultValue: prop.default,\n name: kebabCaseName,\n table: {\n ...baseTableConfig,\n type: { summary: 'string' },\n },\n },\n };\n }\n\n if (isBoolean(prop)) {\n return {\n [propName]: {\n control: 'boolean',\n description: description(prop),\n defaultValue: prop.default,\n name: kebabCaseName,\n table: {\n ...baseTableConfig,\n type: { summary: 'boolean' },\n },\n },\n };\n }\n\n if (isNumber(prop)) {\n return {\n [propName]: {\n control: 'number',\n description: description(prop),\n defaultValue: prop.default,\n name: kebabCaseName,\n table: {\n ...baseTableConfig,\n type: { summary: 'number' },\n },\n },\n };\n }\n\n if (isEnum(prop)) {\n return {\n [propName]: {\n control: 'select',\n defaultValue: prop.default,\n options: enumOptions(prop),\n description: description(prop),\n name: kebabCaseName,\n table: {\n ...baseTableConfig,\n type: { summary: 'enum' },\n },\n },\n };\n }\n\n return {};\n};\n\nconst generateProps = (props: ComponentProp[], componentTag?: string, prefixPropName: boolean = false) => {\n let args = {};\n props.forEach(prop => (args = { ...args, ...generateProp(prop, componentTag, prefixPropName) }));\n return args;\n};\n\nconst generateEvent = (event: ComponentEvent, componentTag?: string, prefixEventName: boolean = false) => {\n function capitalizeFirstLetter(string: string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n }\n\n const category = componentTag ? `Events - ${componentTag}` : 'events';\n const originalEventName = `on${capitalizeFirstLetter(event.event)}`;\n const eventName = prefixEventName && componentTag ? `${componentTag}__${originalEventName}` : originalEventName;\n\n return {\n [eventName]: {\n action: event.event,\n description: description(event),\n name: originalEventName,\n table: {\n defaultValue: { summary: event.event },\n category: category,\n type: { summary: event.detail },\n },\n },\n };\n};\n\nconst generateEvents = (events: ComponentEvent[], componentTag?: string, prefixEventName: boolean = false) => {\n let args = {};\n events.forEach(event => (args = { ...args, ...generateEvent(event, componentTag, prefixEventName) }));\n return args;\n};\n\nconst generateMethod = (method: ComponentMethod, componentTag?: string, prefixMethodName: boolean = false) => {\n const category = componentTag ? `Methods - ${componentTag}` : 'methods';\n const methodName = prefixMethodName && componentTag ? `${componentTag}__${method.name}` : method.name;\n\n return {\n [methodName]: {\n action: method.name,\n description: description(method),\n name: method.name,\n table: {\n category: category,\n type: { summary: method.signature },\n defaultValue: { summary: method.returns.type },\n },\n },\n };\n};\n\nconst generateMethods = (methods: ComponentMethod[], componentTag?: string, prefixMethodName: boolean = false) => {\n let args = {};\n methods.forEach(method => (args = { ...args, ...generateMethod(method, componentTag, prefixMethodName) }));\n return args;\n};\n\nconst extractComponentInfoByTag = (componentsData: any, tag: string): ComponentInfo | null => {\n const component = componentsData.components.find(c => c.tag === tag);\n\n if (!component) {\n console.error(`Component with tag ${tag} not found`);\n return null;\n }\n\n const { props, events, methods } = component;\n\n const propInfo = props.map(prop => ({\n name: prop.name,\n type: prop.type,\n docs: prop.docs,\n default: prop.default || '',\n }));\n\n const eventInfo = events.map(event => ({\n event: event.event,\n docs: event.docs,\n detail: event.detail,\n }));\n\n const methodInfo = methods.map(method => ({\n name: method.name,\n signature: method.signature,\n docs: method.docs,\n returns: method.returns,\n parameters: method.parameters,\n }));\n\n return {\n name: tag,\n props: propInfo,\n events: eventInfo,\n methods: methodInfo,\n };\n};\n\nconst generateHTMLTable = (componentInfo: ComponentInfo): string => {\n if (!componentInfo) {\n return `<p>Component not found</p>`;\n }\n\n const { props, events, methods } = componentInfo;\n\n const propsRows = props\n .map(\n prop => `\n <tr>\n <td>${prop.name}</td>\n <td>${prop.type}</td>\n <td>${prop.docs}</td>\n <td>${prop.default}</td>\n </tr>\n `,\n )\n .join('');\n\n const eventsRows = events\n .map(\n event => `\n <tr>\n <td>${event.event}</td>\n <td>${event.detail}</td>\n <td>${event.docs}</td>\n </tr>\n `,\n )\n .join('');\n\n const methodsRows = methods\n .map(\n method => `\n <tr>\n <td>${method.name}</td>\n <td>${method.signature}</td>\n <td>${method.returns.type}</td>\n <td>${method.docs}</td>\n </tr>\n `,\n )\n .join('');\n\n return `\n <h3>Propriétés</h3>\n <table class=\"w-full\">\n <thead>\n <tr>\n <th>Propriété</th>\n <th>Type</th>\n <th>Description</th>\n <th>Valeur par défaut</th>\n </tr>\n </thead>\n <tbody>\n ${propsRows}\n </tbody>\n </table>\n <h3>Événements</h3>\n <table class=\"w-full\">\n <thead>\n <tr>\n <th>Événement</th>\n <th>Détail</th>\n <th>Description</th>\n </tr>\n </thead>\n <tbody>\n ${eventsRows}\n </tbody>\n </table>\n <h3>Méthodes</h3>\n <table class=\"w-full\">\n <thead>\n <tr>\n <th>Méthode</th>\n <th>Signature</th>\n <th>Retour</th>\n <th>Description</th>\n </tr>\n </thead>\n <tbody>\n ${methodsRows}\n </tbody>\n </table>\n `;\n};\n\nexport const generateComponentTable = (componentsData: any, tag: string): string => {\n const componentInfo = extractComponentInfoByTag(componentsData, tag);\n return generateHTMLTable(componentInfo);\n};\n\nexport const withComponentControls = (\n componentsData: any,\n { tag, customTokens = [], prefixNames = false }: { tag: string; customTokens?: { name: string; description: string; defaultValue: string }[]; prefixNames?: boolean },\n): any => {\n const component = componentsData.components.find(c => c.tag === tag);\n const props = component?.props || [];\n const events = component?.events || [];\n const methods = component?.methods || [];\n\n const tokenControls = customTokens.reduce((acc, token) => {\n const tokenName = prefixNames ? `${tag}__${token.name}` : token.name;\n acc[tokenName] = {\n control: true,\n description: token.description,\n table: {\n category: `Tokens - ${tag}`,\n type: { summary: 'CSS Variable' },\n defaultValue: { summary: token.defaultValue },\n },\n };\n return acc;\n }, {});\n\n const propControls = generateProps(props as ComponentProp[], tag, prefixNames);\n const eventControls = generateEvents(events as ComponentEvent[], tag, prefixNames);\n const methodControls = generateMethods(methods as ComponentMethod[], tag, prefixNames);\n\n const allControls = {\n ...propControls,\n ...eventControls,\n ...methodControls,\n ...tokenControls,\n };\n\n Object.defineProperty(allControls, '__realProps', {\n value: Object.keys(propControls).concat(Object.keys(tokenControls)),\n enumerable: false,\n });\n\n return allControls;\n};\n\nexport function extractArgTypes(componentsData: any, subComponentTags: string[]) {\n return subComponentTags.reduce((acc, tag) => {\n const subComponentArgTypes = withComponentControls(componentsData, { tag, prefixNames: true });\n return { ...acc, ...subComponentArgTypes };\n }, {});\n}\n\nexport function formatFileSize(sizeInBytes) {\n const sizeInMB = sizeInBytes / (1024 * 1024);\n let formattedSize = sizeInMB.toFixed(2).replace('.', ',');\n\n if (sizeInMB > 0 && sizeInMB < 0.01) {\n formattedSize = '0,01';\n } else if (sizeInMB === 0) {\n formattedSize = '0,00';\n }\n\n return `${formattedSize} Mo`;\n}\n\nexport function hasSlotContent(el: HTMLElement): boolean {\n const slot = el.querySelector('slot');\n return slot && slot.assignedNodes().length > 0;\n}\n"],"version":3}
|
|
@@ -2,7 +2,7 @@ import { p as proxyCustomElement, H, c as createEvent, h, F as Fragment, a as Ho
|
|
|
2
2
|
import { d as defineCustomElement$4 } from './p-t1vZcpqC.js';
|
|
3
3
|
import { d as defineCustomElement$3 } from './p-qgvllwX6.js';
|
|
4
4
|
import { d as defineCustomElement$2 } from './p-_q4w18VU.js';
|
|
5
|
-
import { d as defineCustomElement$1 } from './p-
|
|
5
|
+
import { d as defineCustomElement$1 } from './p-BZy3vC1Y.js';
|
|
6
6
|
|
|
7
7
|
const spwPaginationCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.3}h1,h2,h3,h4,h5,h6,li,p,ul{margin:0;padding:0}ul{list-style:none}:host{-webkit-text-size-adjust:100%;box-sizing:border-box;display:block;font-size:100%;line-height:1.3}:host *,:host :after,:host :before{box-sizing:inherit;font-family:Nunito Sans}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--spw-ds-container-xl:1200px;--spw-ds-container-lg:1024px;--spw-ds-container-md:768px;--spw-ds-container-sm:640px}.spw-ds-container{margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px;width:100%}@media (min-width:460px){.spw-ds-container{max-width:var(--spw-ds-container-sm)}}@media (min-width:768px){.spw-ds-container{max-width:var(--spw-ds-container-md)}}@media (min-width:1024px){.spw-ds-container{max-width:var(--spw-ds-container-lg)}}@media (min-width:1350px){.spw-ds-container{max-width:var(--spw-ds-container-xl)}}.spw-pagination__item button,.spw-pagination__item--dots{border-radius:32px;font-size:14px;font-weight:700;height:32px;line-height:32px;min-width:32px;text-align:center}.spw-pagination__item button:focus-visible,.spw-pagination__item--dots:focus-visible{box-shadow:0 0 0 5px #000;outline:3px solid #fff;outline-offset:-1px}.spw-pagination{align-items:center;display:flex;flex-direction:column}@media (min-width:768px){.spw-pagination{align-items:flex-start}}.spw-pagination ul{align-items:center;display:flex;padding:0}.spw-pagination__item{margin-right:12px}.spw-pagination__item spw-icon{font-size:18px}.spw-pagination__item button{background:none;border:none;color:var(--spw-color-themes-grey-grey-900);cursor:pointer;margin:0;padding:0 6px}.spw-pagination__item:not(.spw-pagination__item--active,.spw-pagination__item--dots,.spw-pagination__item--disabled):hover button{background:var(--spw-color-themes-grey-grey-200)}.spw-pagination__item:not(.spw-pagination__item--active,.spw-pagination__item--dots,.spw-pagination__item--disabled):active button{background:var(--spw-color-themes-grey-grey-300)}.spw-pagination__item--arrow button{align-items:center;display:flex;gap:8px;padding:0 12px;text-decoration:underline}.spw-pagination__item--arrow button:hover{text-decoration:none}.spw-pagination__item--dots{align-items:center;background:none;color:var(--spw-color-themes-grey-grey-400);cursor:default;display:inline-flex;justify-content:center;position:relative;top:3px}.spw-pagination__item--dots spw-icon{font-size:16px}.spw-pagination__item--desktop{display:none}@media (min-width:768px){.spw-pagination__item--desktop{display:inline-block}}.spw-pagination__item--active button{background:var(--spw-ds-primary);color:#fff}.spw-pagination__input spw-text-field{--spw-input-height:32px;--spw-input-padding:0 4px;--spw-input-text-align:center;--spw-input-font-size:14px;width:36px}.spw-pagination__mobile-arrows{margin-top:12px}@media (min-width:768px){.spw-pagination__mobile-arrows{display:none!important}}.spw-pagination__total-pages{font-size:14px;margin:0 12px 0 6px}.spw-tw-mb-10{margin-bottom:2.5rem}.spw-tw-mb-6{margin-bottom:1.5rem}.spw-tw-ml-2{margin-left:.5rem}.spw-tw-mr-4{margin-right:1rem}.spw-tw-mt-12{margin-top:3rem}.-spw-tw-mt-1{margin-top:-.25rem}.spw-tw-mb-2{margin-bottom:.5rem}";
|
|
8
8
|
|
|
@@ -238,6 +238,6 @@ function defineCustomElement() {
|
|
|
238
238
|
}
|
|
239
239
|
|
|
240
240
|
export { SpwPagination as S, defineCustomElement as d };
|
|
241
|
-
//# sourceMappingURL=p-
|
|
241
|
+
//# sourceMappingURL=p-BFGmcTVw.js.map
|
|
242
242
|
|
|
243
|
-
//# sourceMappingURL=p-
|
|
243
|
+
//# sourceMappingURL=p-BFGmcTVw.js.map
|