Skip to content

Vitejs - #89

Merged
thomlamb merged 7 commits into
mainfrom
vitejs
Jul 27, 2026
Merged

Vitejs#89
thomlamb merged 7 commits into
mainfrom
vitejs

Conversation

@thomlamb

@thomlamb thomlamb commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • New Features

    • Web components now load as modern ES modules with code-split resources.
    • Added Vite-based development mode with hot reload and optional local server loading.
    • Added support for directory, campaign, news, events, search, map, and gallery functionality in the updated build.
  • Bug Fixes

    • Corrected icon styling and navigation controls across several components.
    • Improved keyboard accessibility for clear controls.
  • Documentation

    • Updated build and development guidance for the new workflow.
  • Chores

    • Added an upgrade path for existing installations.

thomlamb added 7 commits July 27, 2026 09:21
# Conflicts:
#	src/imio/smartweb/core/webcomponents/build/js/373.smartweb-webcomponents-compiled.js
#	src/imio/smartweb/core/webcomponents/build/js/399.smartweb-webcomponents-compiled.js
#	src/imio/smartweb/core/webcomponents/build/js/508.smartweb-webcomponents-compiled.js.LICENSE.txt
#	src/imio/smartweb/core/webcomponents/build/js/666.smartweb-webcomponents-compiled.js
#	src/imio/smartweb/core/webcomponents/build/js/824.smartweb-webcomponents-compiled.js
#	src/imio/smartweb/core/webcomponents/build/js/836.smartweb-webcomponents-compiled.js.LICENSE.txt
#	src/imio/smartweb/core/webcomponents/build/js/864.smartweb-webcomponents-compiled.js
#	src/imio/smartweb/core/webcomponents/build/js/884.smartweb-webcomponents-compiled.js
#	src/imio/smartweb/core/webcomponents/build/js/914.smartweb-webcomponents-compiled.js
#	src/imio/smartweb/core/webcomponents/build/js/939.smartweb-webcomponents-compiled.js
#	src/imio/smartweb/core/webcomponents/build/js/smartweb-webcomponents-compiled.js
@coderabbitai

coderabbitai Bot commented Jul 27, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The webcomponents toolchain is migrated from Webpack to Vite. Plone now loads production or development ES modules through a dedicated viewlet, generated assets are code-split, and related React imports, JSX attributes, configuration, upgrades, and documentation are updated.

Changes

Webcomponents Vite migration

Layer / File(s) Summary
Source compatibility updates
src/imio/smartweb/core/webcomponents/package.json, src/imio/smartweb/core/webcomponents/src/components/..., src/imio/smartweb/core/webcomponents/src/index.jsx
React JSX attributes and Spotlight imports are corrected, react-moment is removed, and HMR uses import.meta.hot.
Vite build pipeline
src/imio/smartweb/core/webcomponents/package.json, src/imio/smartweb/core/webcomponents/vite.config.js, src/imio/smartweb/core/webcomponents/build/js/smartweb-webcomponents-compiled.js
Vite scripts, plugins, proxying, template reloads, CSS splitting, and bundle output naming replace the Webpack build flow.
Plone ES-module loading
src/imio/smartweb/core/config.py, src/imio/smartweb/core/profiles/default/..., src/imio/smartweb/core/upgrades/..., src/imio/smartweb/core/viewlets/...
A configurable Vite URL and head viewlet load development modules or the compiled ES module; the registry upgrade clears stale jscompilation.
Generated Vite assets
src/imio/smartweb/core/webcomponents/build/css/..., src/imio/smartweb/core/webcomponents/build/js/chunks/...
Feature, map, translation, runtime, and split CSS chunks are generated for the Vite bundle.
Migration documentation
CLAUDE.md, src/imio/smartweb/core/webcomponents/CLAUDE.md, src/imio/smartweb/core/webcomponents/Makefile
Commands, build output, development loading, and Vite server descriptions are updated.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Browser
  participant Plone
  participant ViteDevServer
  participant CompiledBundle
  Browser->>Plone: request page
  Plone->>ViteDevServer: load development entry when configured
  Plone->>CompiledBundle: load production ES module otherwise
  ViteDevServer-->>Browser: return entry and split chunks
  CompiledBundle-->>Browser: return compiled entry and split chunks
Loading
🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.20% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The title is too vague to identify the main change in this PR. Use a specific title such as “Migrate webcomponents build from Webpack to Vite.”
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch vitejs

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
src/imio/smartweb/core/webcomponents/build/js/chunks/Search-BxK7FM8g.js (1)

1-3: 🩺 Stability & Availability | 🟠 Major | ⚡ Quick win

Escape literal search terms in the search results. SearchableText is passed straight into react-highlight-words without autoEscape, so queries like [ or ( can throw and stop result rendering. Add autoEscape to each Highlighter usage in the search result components.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/imio/smartweb/core/webcomponents/build/js/chunks/Search-BxK7FM8g.js`
around lines 1 - 3, The search result highlighters currently pass SearchableText
as a raw search word, allowing regex characters to throw during rendering.
Update each Highlighter usage in the result components, including the web
results rendered by Ee and the corresponding news, events, and directory
components, to enable react-highlight-words’ autoEscape option while preserving
existing highlighting behavior.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/imio/smartweb/core/webcomponents/build/css/chunks/Annuaire-OPs47egg.css`:
- Line 1: Update the .dropDownFilter transition declaration to include both
max-width and opacity animations in a single declaration, preserving their
existing durations and easing behavior. Remove the duplicate transition
property, then regenerate the CSS artifact.

In `@src/imio/smartweb/core/webcomponents/build/css/chunks/Campaign-QxpnJXo1.css`:
- Line 1: Update the selectors targeting “Publié sans vote” near
`.vote_nodisplay` so they match the intended class combination, using
`.r-list-item.Publié.sans.vote` and the equivalent `figure` selector or an
existing dedicated status attribute. Regenerate the compiled CSS artifact after
correcting the selector.

In `@src/imio/smartweb/core/webcomponents/build/js/chunks/Annuaire-C0BYBnaa.js`:
- Line 1: Correct the misspelled icon prop in the Annuaire detail view’s back
button, changing clasName to className on the back-arrow element in
ContactContent. Then regenerate the compiled Annuaire artifact so it reflects
the source fix.

In
`@src/imio/smartweb/core/webcomponents/src/components/Annuaire/ContactContent/ContactContent.jsx`:
- Line 192: In the ContactContent component, correct the JSX attribute on the
arrow icon element from clasName to className so the Bootstrap icon classes are
applied.

---

Outside diff comments:
In `@src/imio/smartweb/core/webcomponents/build/js/chunks/Search-BxK7FM8g.js`:
- Around line 1-3: The search result highlighters currently pass SearchableText
as a raw search word, allowing regex characters to throw during rendering.
Update each Highlighter usage in the result components, including the web
results rendered by Ee and the corresponding news, events, and directory
components, to enable react-highlight-words’ autoEscape option while preserving
existing highlighting behavior.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 517aacd0-967d-4645-b8f6-1361f1866547

📥 Commits

Reviewing files that changed from the base of the PR and between 11d2b8a and c2fd141.

⛔ Files ignored due to path filters (10)
  • src/imio/smartweb/core/webcomponents/build/1c1605a5fe9a2b10a88f.png is excluded by !**/*.png
  • src/imio/smartweb/core/webcomponents/build/524db40e119aa11f4478.png is excluded by !**/*.png
  • src/imio/smartweb/core/webcomponents/build/57d3b7cb1ab874660b39.svg is excluded by !**/*.svg
  • src/imio/smartweb/core/webcomponents/build/6cf03871df23ed2ee8b3.png is excluded by !**/*.png
  • src/imio/smartweb/core/webcomponents/build/assets/layers-2x.8f2c4d11474275fbc1614b9098334eae.png is excluded by !**/*.png
  • src/imio/smartweb/core/webcomponents/build/assets/layers.416d91365b44e4b4f4777663e6f009f3.png is excluded by !**/*.png
  • src/imio/smartweb/core/webcomponents/build/assets/marker-icon.2b3e1faf89f94a4835397e7a43b4f77d.png is excluded by !**/*.png
  • src/imio/smartweb/core/webcomponents/build/assets/oeil-big.f32cd1df1274a9593de0c4bd8e344216.svg is excluded by !**/*.svg
  • src/imio/smartweb/core/webcomponents/build/assets/pin-react-active.07d154037a15be5525b823fdc626cf29.svg is excluded by !**/*.svg
  • src/imio/smartweb/core/webcomponents/build/assets/pin-react.fda934b5daf26dd4da2a71a7e7e44431.svg is excluded by !**/*.svg
📒 Files selected for processing (68)
  • CLAUDE.md
  • src/imio/smartweb/core/config.py
  • src/imio/smartweb/core/profiles/default/metadata.xml
  • src/imio/smartweb/core/profiles/default/registry/bundles.xml
  • src/imio/smartweb/core/upgrades/configure.zcml
  • src/imio/smartweb/core/upgrades/profiles/1080_to_1081/registry.xml
  • src/imio/smartweb/core/viewlets/configure.zcml
  • src/imio/smartweb/core/viewlets/webcomponents.py
  • src/imio/smartweb/core/viewlets/webcomponents_js_header.pt
  • src/imio/smartweb/core/webcomponents/CLAUDE.md
  • src/imio/smartweb/core/webcomponents/Makefile
  • src/imio/smartweb/core/webcomponents/babel.config.json
  • src/imio/smartweb/core/webcomponents/build/css/373.smartweb-webcomponents-compiled.css
  • src/imio/smartweb/core/webcomponents/build/css/666.smartweb-webcomponents-compiled.css
  • src/imio/smartweb/core/webcomponents/build/css/864.smartweb-webcomponents-compiled.css
  • src/imio/smartweb/core/webcomponents/build/css/884.smartweb-webcomponents-compiled.css
  • src/imio/smartweb/core/webcomponents/build/css/939.smartweb-webcomponents-compiled.css
  • src/imio/smartweb/core/webcomponents/build/css/chunks/Annuaire-OPs47egg.css
  • src/imio/smartweb/core/webcomponents/build/css/chunks/Campaign-QxpnJXo1.css
  • src/imio/smartweb/core/webcomponents/build/css/chunks/Events-DGkLse3d.css
  • src/imio/smartweb/core/webcomponents/build/css/chunks/MainFilter-BwT7ESJR.css
  • src/imio/smartweb/core/webcomponents/build/css/chunks/News-BReH48Bf.css
  • src/imio/smartweb/core/webcomponents/build/css/chunks/Search-Dc15ydIF.css
  • src/imio/smartweb/core/webcomponents/build/css/chunks/leaflet-BjKehyfw.css
  • src/imio/smartweb/core/webcomponents/build/css/smartweb-webcomponents-compiled.css
  • src/imio/smartweb/core/webcomponents/build/js/373.smartweb-webcomponents-compiled.js
  • src/imio/smartweb/core/webcomponents/build/js/373.smartweb-webcomponents-compiled.js.LICENSE.txt
  • src/imio/smartweb/core/webcomponents/build/js/399.smartweb-webcomponents-compiled.js
  • src/imio/smartweb/core/webcomponents/build/js/508.smartweb-webcomponents-compiled.js
  • src/imio/smartweb/core/webcomponents/build/js/508.smartweb-webcomponents-compiled.js.LICENSE.txt
  • src/imio/smartweb/core/webcomponents/build/js/666.smartweb-webcomponents-compiled.js
  • src/imio/smartweb/core/webcomponents/build/js/799.smartweb-webcomponents-compiled.js
  • src/imio/smartweb/core/webcomponents/build/js/799.smartweb-webcomponents-compiled.js.LICENSE.txt
  • src/imio/smartweb/core/webcomponents/build/js/824.smartweb-webcomponents-compiled.js
  • src/imio/smartweb/core/webcomponents/build/js/824.smartweb-webcomponents-compiled.js.LICENSE.txt
  • src/imio/smartweb/core/webcomponents/build/js/836.smartweb-webcomponents-compiled.js
  • src/imio/smartweb/core/webcomponents/build/js/836.smartweb-webcomponents-compiled.js.LICENSE.txt
  • src/imio/smartweb/core/webcomponents/build/js/864.smartweb-webcomponents-compiled.js
  • src/imio/smartweb/core/webcomponents/build/js/884.smartweb-webcomponents-compiled.js
  • src/imio/smartweb/core/webcomponents/build/js/914.smartweb-webcomponents-compiled.js
  • src/imio/smartweb/core/webcomponents/build/js/914.smartweb-webcomponents-compiled.js.LICENSE.txt
  • src/imio/smartweb/core/webcomponents/build/js/939.smartweb-webcomponents-compiled.js
  • src/imio/smartweb/core/webcomponents/build/js/963.smartweb-webcomponents-compiled.js
  • src/imio/smartweb/core/webcomponents/build/js/963.smartweb-webcomponents-compiled.js.LICENSE.txt
  • src/imio/smartweb/core/webcomponents/build/js/chunks/AccessibleClearIndicator-DzBjnRGa.js
  • src/imio/smartweb/core/webcomponents/build/js/chunks/Annuaire-C0BYBnaa.js
  • src/imio/smartweb/core/webcomponents/build/js/chunks/Campaign-BF01P2NJ.js
  • src/imio/smartweb/core/webcomponents/build/js/chunks/Events-CaQkQ-U6.js
  • src/imio/smartweb/core/webcomponents/build/js/chunks/MainFilter-Cy_imqzz.js
  • src/imio/smartweb/core/webcomponents/build/js/chunks/Map-C2YCj66D.js
  • src/imio/smartweb/core/webcomponents/build/js/chunks/News-DP_fnwrG.js
  • src/imio/smartweb/core/webcomponents/build/js/chunks/Search-BxK7FM8g.js
  • src/imio/smartweb/core/webcomponents/build/js/chunks/leaflet-BtpdQwxt.js
  • src/imio/smartweb/core/webcomponents/build/js/chunks/moment-BAtM24Ew.js
  • src/imio/smartweb/core/webcomponents/build/js/chunks/spotlight.bundle-CVQJmd_M.js
  • src/imio/smartweb/core/webcomponents/build/js/chunks/translation-W4UY8Aou.js
  • src/imio/smartweb/core/webcomponents/build/js/smartweb-webcomponents-compiled.js
  • src/imio/smartweb/core/webcomponents/build/js/smartweb-webcomponents-compiled.js.LICENSE.txt
  • src/imio/smartweb/core/webcomponents/package.json
  • src/imio/smartweb/core/webcomponents/src/components/Annuaire/ContactContent/ContactContent.jsx
  • src/imio/smartweb/core/webcomponents/src/components/Campaign/CampaignContent/CampaignContent.jsx
  • src/imio/smartweb/core/webcomponents/src/components/Events/EventContent/EventContent.jsx
  • src/imio/smartweb/core/webcomponents/src/components/News/NewsCard/NewsCard.jsx
  • src/imio/smartweb/core/webcomponents/src/components/News/NewsContent/NewsContent.jsx
  • src/imio/smartweb/core/webcomponents/src/index.jsx
  • src/imio/smartweb/core/webcomponents/vite.config.js
  • src/imio/smartweb/core/webcomponents/webpack.config.js
  • src/imio/smartweb/core/webcomponents/webpackPlonePlugin.js
💤 Files with no reviewable changes (23)
  • src/imio/smartweb/core/webcomponents/build/js/836.smartweb-webcomponents-compiled.js.LICENSE.txt
  • src/imio/smartweb/core/webcomponents/build/js/799.smartweb-webcomponents-compiled.js.LICENSE.txt
  • src/imio/smartweb/core/webcomponents/build/css/864.smartweb-webcomponents-compiled.css
  • src/imio/smartweb/core/webcomponents/build/js/914.smartweb-webcomponents-compiled.js.LICENSE.txt
  • src/imio/smartweb/core/webcomponents/webpack.config.js
  • src/imio/smartweb/core/webcomponents/build/js/508.smartweb-webcomponents-compiled.js.LICENSE.txt
  • src/imio/smartweb/core/webcomponents/babel.config.json
  • src/imio/smartweb/core/webcomponents/build/js/373.smartweb-webcomponents-compiled.js.LICENSE.txt
  • src/imio/smartweb/core/webcomponents/build/css/884.smartweb-webcomponents-compiled.css
  • src/imio/smartweb/core/webcomponents/build/js/smartweb-webcomponents-compiled.js.LICENSE.txt
  • src/imio/smartweb/core/webcomponents/build/css/373.smartweb-webcomponents-compiled.css
  • src/imio/smartweb/core/webcomponents/build/js/963.smartweb-webcomponents-compiled.js.LICENSE.txt
  • src/imio/smartweb/core/webcomponents/build/js/824.smartweb-webcomponents-compiled.js.LICENSE.txt
  • src/imio/smartweb/core/webcomponents/build/js/884.smartweb-webcomponents-compiled.js
  • src/imio/smartweb/core/webcomponents/build/js/799.smartweb-webcomponents-compiled.js
  • src/imio/smartweb/core/webcomponents/build/css/939.smartweb-webcomponents-compiled.css
  • src/imio/smartweb/core/webcomponents/build/js/864.smartweb-webcomponents-compiled.js
  • src/imio/smartweb/core/webcomponents/build/js/666.smartweb-webcomponents-compiled.js
  • src/imio/smartweb/core/webcomponents/build/js/373.smartweb-webcomponents-compiled.js
  • src/imio/smartweb/core/webcomponents/build/js/399.smartweb-webcomponents-compiled.js
  • src/imio/smartweb/core/webcomponents/build/css/666.smartweb-webcomponents-compiled.css
  • src/imio/smartweb/core/webcomponents/build/js/939.smartweb-webcomponents-compiled.js
  • src/imio/smartweb/core/webcomponents/webpackPlonePlugin.js

@@ -0,0 +1 @@
.taxonomy-Filter{width:100%;display:flex;gap:10px;flex-wrap:wrap;transition:all .3s ease-in-out}.dropDownFilter{display:flex;justify-content:center;align-items:center;transition:max-width .3s ease-in-out;transition:opacity 3s ease-in-out;border:solid 1px #cfcfcf;border-radius:10px;outline:1px solid transparent}.dropDownFilter-active{border-color:#2684ff;outline:1px solid #2684ff}.dropDownFilter-active .sub0{font-weight:700}.dropDownFilter .sub0{text-decoration:none;padding:5px 10px}.dropDownFilter .sub1{padding-right:5px;transition:all .4s cubic-bezier(0,.74,.58,1.04)}.dropDownFilter .sub1 div[class*=control]{flex-wrap:nowrap;border-radius:15px}.dropDownFilter .sub2{padding-right:5px;transition:all .4s cubic-bezier(0,.74,.58,1.04)}.dropDownFilter .sub2 div[class*=control]{flex-wrap:nowrap;border-radius:15px}.dropDownFilter .dropDownFilter-invisble{opacity:0;max-width:0px;height:0px;overflow:hidden;padding:0}.dropDownFilter .dropDownFilter-visible{height:auto;opacity:1}@media screen and (max-width:630px){.dropDownFilter{align-items:flex-start;flex-direction:column}}.select-has-value .react-select-custom-multi__placeholder{font-weight:700!important}.react-select-custom-multi__placeholder{color:#333!important}.react-select-custom-multi__control{border:none!important;box-shadow:none!important;position:relative}.react-select-custom-multi__control:after{content:"";height:23px;width:1px;background:#cfcfcf;position:absolute;left:0}html,body{max-width:100%;overflow-x:initial!important}.row{padding:0;margin:0}.breadcrumb{padding:0}body .outer-wrapper>.container{max-width:100%!important;padding:0!important}@media screen and (min-width:1200px){.r-annuaire-wrapper{max-width:100%;margin-right:inherit;padding-right:0;padding-left:0}}#portal-column-content{padding:0!important}#portal-column-content h1{font-size:0px;position:absolute}header#content-header{position:-webkit-sticky;position:sticky;top:0;background:#fff}#viewlet-below-content-title,#viewlet-below-content-description{display:none}article>header{margin-bottom:0}.r-annuaire-result{grid-area:1/1/3/2}.r-map.annuaire-map{position:-webkit-sticky;position:sticky;grid-area:1/2/2/3}.r-wrapper{display:block}@media screen and (min-width:1200px){.r-wrapper{display:grid;grid-template-columns:minmax(20px,800px) minmax(20px,100%);justify-content:space-between;width:calc(558px + 50vw);margin-left:auto;gap:40px}}@media screen and (min-width:1400px){.r-wrapper{width:calc(648px + 50vw)}}.r-wrapper .r-result{padding-bottom:2rem}.r-wrapper .r-result-list{padding:0}.r-wrapper .r-result-list .r-list-item-group{position:relative;list-style:none;margin:1rem 0}.r-wrapper .r-result-list .r-list-item-group .r-list-item-link{top:0!important;right:0!important;bottom:0!important;left:0!important;position:absolute!important}.r-wrapper .r-result-list .r-list-item-group .r-list-item{display:flex;height:100%;flex-direction:column}@media screen and (min-width:600px){.r-wrapper .r-result-list .r-list-item-group .r-list-item{flex-direction:row}}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-img{width:100%;padding-bottom:56%;position:relative;z-index:-1;background-color:#000;background-size:cover;border-radius:5px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-img.r-item-img-placeholder{background-color:#f2f2f2}@media screen and (min-width:600px){.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-img{width:246px;height:149px;padding-bottom:0;flex:246px 0 0}}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-img div,.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-img img{border-radius:5px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text{margin-top:.6rem;flex-grow:1}@media screen and (min-width:600px){.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text{margin-left:1.5rem;margin-top:0}}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text a{position:relative}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-title{font-weight:700;display:block}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-categorie{display:block}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all{display:flex;gap:10px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all .r-item-adresse{width:36%}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all .phones{display:flex;gap:0 5px;flex-wrap:wrap}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all .mails{display:flex;flex-direction:column}.r-content-description{border-bottom:solid 1px #e6e6e6}.contactTextAll{margin-top:1rem;position:relative}@media screen and (min-width:700px){.contactTextAll{padding-right:128px}}.contactTextAll .annuaire-logo{margin-top:.5rem;max-width:128px}@media screen and (min-width:700px){.contactTextAll .annuaire-logo{position:absolute;top:0;right:0}}.annuaire-info-title{font-weight:700}.annuaire-website-link,.annaire-adresse,.annuaire-phone,.annuaire-website-mails,.annuaire-social-link,.annuaire-schedul{display:flex;gap:10px;align-items:first baseline;margin-bottom:.5rem}.annuaire-website-link a,.annaire-adresse a,.annuaire-phone a,.annuaire-website-mails a,.annuaire-social-link a,.annuaire-schedul a{text-decoration:none}.annuaire-phone span,.annuaire-website-mails span{display:block;font-weight:500}.annuaire-phone span a,.annuaire-website-mails span a{font-weight:400}.annuaire-website-mails div span{display:block}.annuaire-social-link{margin:.5rem 0}.annuaire-social-link ul{display:flex;gap:10px;margin:0}.annuaire-social-link ul li,.annuaire-website-link ul li{list-style:none}.annuaire-day-close{color:#e61d1d}.annuaire-day-open{color:#106828}.annuaire-schedul li{list-style:none}.accordion-body-annuaire{padding-top:1rem;display:flex;align-items:center;flex-wrap:wrap}.accordion-body-annuaire span{font-weight:700;margin-right:.5rem}.accordion-body-annuaire .taxonomy-Filter{width:auto}.more-filter-btn.more-filter-btn-annuaire{position:relative;display:flex;align-items:center;gap:.5rem;display:none}@media screen and (max-width:630px){.more-filter-btn.more-filter-btn-annuaire{display:flex;margin-left:auto;margin-bottom:.5rem}}@media screen and (max-width:630px){.accordion-body-annuaire-title-full-screen{display:none}}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text{font-size:13px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text:after{content:"";width:50px;height:50px;background:#ff0;border-radius:50px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-title{font-size:18px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-categorie{margin-bottom:5px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all,.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all a{color:#727272}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all a:hover{color:#1f1f1f}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all .r-item-adresse .itineraty{margin-top:5px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all .r-item-adresse .itineraty:before{content:"";width:15px;height:15px;display:inline-block;background-size:contain;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7.68 10.97'%3E%3Cg id='Calque_2' data-name='Calque 2'%3E%3Cg id='Calque_1-2' data-name='Calque 1'%3E%3Cpath id='map-marker' d='M3.84,5.21A1.37,1.37,0,1,1,5.21,3.84h0A1.37,1.37,0,0,1,3.84,5.21M3.84,0A3.84,3.84,0,0,0,0,3.84H0C0,6.72,3.84,11,3.84,11S7.68,6.72,7.68,3.84A3.84,3.84,0,0,0,3.84,0Z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") no-repeat;vertical-align:middle}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all .r-item-contact{width:100%}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all .r-item-contact .topics{margin-top:10px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all .r-item-contact .topics span{padding:5px;background:#f1f1f1;border-radius:5px;margin-right:5px}.r-load-more{margin-bottom:2rem;text-align:center}.r-load-more button{background:#000;border:solid 1px transparent;color:#fff;padding:.4rem 1rem;border-radius:10px 10px 10px 0/10px 10px 10px 0px;font-weight:700;font-size:14px;margin:0 auto;display:block}.r-load-more button:hover{background:#000000de}@media screen and (max-width:1200px){.r-map{margin-top:2rem!important}}@media screen and (max-width:1200px){.r-map .leaflet-container{height:50vh!important}}@media screen and (min-width:600px){.no-map .r-annuaire-wrapper{display:block}.no-map .r-wrapper .r-result-list{max-width:1296px;display:grid;grid-template-columns:repeat(auto-fill,minmax(244px,1fr));gap:20px}.no-map .r-wrapper .r-list-item-group{display:block!important;transition:all .2s ease}.no-map .r-wrapper .r-list-item-group:hover,.no-map .r-wrapper .r-list-item-group:focus{transform:translateY(-10px)!important}.no-map .r-wrapper .r-list-item-group .r-list-item{flex-direction:column!important;box-shadow:0 8px 26px #00000014}.no-map .r-wrapper .r-list-item-group .r-list-item .r-item-img{flex:inherit;width:100%!important;aspect-ratio:5/3;margin-bottom:0;height:auto}.no-map .r-wrapper .r-list-item-group .r-list-item .r-item-text{display:block;margin-right:1.5rem;margin-bottom:.5rem;margin-top:.5rem}.no-map .r-wrapper .r-list-item-group .r-list-item .r-item-text:after{display:none}.no-map .r-wrapper .r-list-item-group .r-list-item .r-item-text .r-item-categorie{margin-bottom:.25rem;margin-top:.25rem}.no-map .r-wrapper .r-list-item-group .r-list-item .r-item-text .r-item-title{margin-bottom:.25rem;margin-top:.25rem;font-size:16px}.no-map .r-wrapper .r-list-item-group .r-list-item .r-item-text .r-item-all{display:block!important}.no-map .r-wrapper .r-list-item-group .r-list-item .r-item-text .r-item-all .r-item-adresse{margin-bottom:.25rem;margin-top:.25rem;width:auto}.no-map .r-wrapper .r-list-item-group .r-list-item .r-item-text .r-item-all .mails,.no-map .r-wrapper .r-list-item-group .r-list-item .r-item-text .r-item-all .phones,.no-map .r-wrapper .r-list-item-group .r-list-item .r-item-text .r-item-all .topics{margin-bottom:.25rem;margin-top:.25rem}}.no-map .r-result.r-annuaire-result{max-width:1296px}.no-map .annuaire-content{max-width:700px;margin:0 auto}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Preserve the max-width transition.

The second transition declaration overrides max-width .3s, so filter expansion no longer animates its width. Combine both transitions into one declaration and regenerate the artifact.

🧰 Tools
🪛 Stylelint (17.14.0)

[error] 1-1: Duplicate property "display" (declaration-block-no-duplicate-properties)

(declaration-block-no-duplicate-properties)


[error] 1-1: Overridden property "background-size" by shorthand "background" (declaration-block-no-shorthand-property-overrides)

(declaration-block-no-shorthand-property-overrides)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/imio/smartweb/core/webcomponents/build/css/chunks/Annuaire-OPs47egg.css`
at line 1, Update the .dropDownFilter transition declaration to include both
max-width and opacity animations in a single declaration, preserving their
existing durations and easing behavior. Remove the duplicate transition
property, then regenerate the CSS artifact.

@@ -0,0 +1 @@
@charset "UTF-8";html,body{max-width:100%;overflow-x:initial!important}.r-content-vote-btn a{background:#252525;border-radius:8px;color:#fff;padding:1rem;text-decoration:none;transition:all .5s ease;display:inline-block}#content>header{display:none}.row{padding:0;margin:0}.breadcrumb{padding:0}.portaltype-imio-smartweb-campaignview header#content-header{z-index:9}.campaign-vote{display:flex;gap:13px;font-size:13px}.campaign-vote .bi{font-size:13px;margin-right:5px}.campaign-vote-pour{background-color:#ebf9ed;color:#0ca72b;padding:5px 15px;border-radius:5px;text-decoration:none}.campaign-vote-pour:hover,.campaign-vote-pour:focus{background-color:#d9f8de;color:#0ca72b}.campaign-vote-contre{text-decoration:none;background-color:#f4e2e4;color:#b70a0a;padding:5px 15px;border-radius:5px}.campaign-vote-contre:hover,.campaign-vote-contre:focus{background-color:#f0d0d4;color:#b70a0a}.campaign-vote-pour-count,.campaign-vote-contre-count,.campaign-vote-contre-text{font-size:15px}.r-item-arrow{position:absolute;top:50%;right:0;translate:0 -50%;background:#f2f2f2;width:30px;height:30px;display:flex;justify-content:center;align-items:center;opacity:0;border-radius:50px;font-size:15px}.r-list-item-group:hover .r-item-arrow,.r-list-item-group:focus .r-item-arrow{opacity:1}body .outer-wrapper>.container{max-width:100%!important;padding:0!important}@media screen and (min-width:1200px){.r-campaign-wrapper{max-width:100%;margin-right:inherit;padding-right:0;padding-left:0}}#portal-column-content{padding:0!important}#portal-column-content h1{font-size:0px;position:absolute}#viewlet-below-content-title,#viewlet-below-content-description{display:none}header#content-header{position:-webkit-sticky;position:sticky;top:0;background:#fff}article>header{margin-bottom:0}.r-campaign-result{grid-area:1/1/3/2}.r-map.campaign-map{position:-webkit-sticky;position:sticky;grid-area:1/2/2/3}.r-wrapper{display:block}@media screen and (min-width:1200px){.r-wrapper{display:grid;grid-template-columns:minmax(20px,800px) minmax(20px,100%);justify-content:space-between;width:calc(558px + 50vw);margin-left:auto;gap:40px}}@media screen and (min-width:1400px){.r-wrapper{width:calc(648px + 50vw)}}.r-wrapper .r-result{margin-top:2rem;padding-bottom:2rem}.r-wrapper .r-result-list{padding:0}.r-wrapper .r-result-list .r-list-item-group{position:relative;list-style:none;margin:1rem 0}.r-wrapper .r-result-list .r-list-item-group .r-list-item-link{top:0!important;right:0!important;bottom:0!important;left:0!important;position:absolute!important}.r-wrapper .r-result-list .r-list-item-group .r-list-item{display:flex;height:100%;flex-direction:column}@media screen and (min-width:600px){.r-wrapper .r-result-list .r-list-item-group .r-list-item{flex-direction:row}}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-img{width:100%;padding-bottom:56%;background-size:cover}@media screen and (min-width:600px){.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-img{width:246px;height:149px;padding-bottom:0}}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text{margin-top:.6rem;flex-grow:1}@media screen and (min-width:600px){.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text{margin-left:1.5rem;margin-top:0}}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text a{position:relative}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-title{font-weight:700;display:block}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-categorie{display:block}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all{display:flex;gap:10px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all .r-item-adresse{width:36%}@media screen and (max-width:1200px){.r-wrapper .r-map{margin-top:2rem!important}}@media screen and (max-width:1200px){.r-wrapper .r-map .leaflet-container{height:50vh!important}}.r-load-more{margin-bottom:2rem;text-align:center}.r-load-more button{background:#000;border:solid 1px transparent;color:#fff;padding:.4rem 1rem;border-radius:10px 10px 10px 0/10px 10px 10px 0px;font-weight:700;font-size:14px;margin:0 auto;display:block}.r-load-more button:hover{background:#000000de}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-img{width:100%;padding-bottom:56%;position:relative;z-index:-1;background-color:#000;background-size:cover;border-radius:5px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-img.r-item-img-placeholder{background-color:#f2f2f2}@media screen and (min-width:600px){.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-img{width:246px;height:149px;padding-bottom:0;flex:246px 0 0}}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-img div,.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-img img{border-radius:5px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text{font-size:13px;display:flex;flex-direction:column;gap:10px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-title{font-size:18px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-categorie{margin-bottom:5px;text-transform:uppercase;color:#747474;font-weight:400;font-size:13px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all{color:#727272}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all a{color:#000}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all .r-item-adresse .itineraty{margin-top:5px}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all .r-item-adresse .itineraty:before{content:"";width:15px;height:15px;display:inline-block;background-size:contain;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7.68 10.97'%3E%3Cg id='Calque_2' data-name='Calque 2'%3E%3Cg id='Calque_1-2' data-name='Calque 1'%3E%3Cpath id='map-marker' d='M3.84,5.21A1.37,1.37,0,1,1,5.21,3.84h0A1.37,1.37,0,0,1,3.84,5.21M3.84,0A3.84,3.84,0,0,0,0,3.84H0C0,6.72,3.84,11,3.84,11S7.68,6.72,7.68,3.84A3.84,3.84,0,0,0,3.84,0Z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") no-repeat;vertical-align:middle}.r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text .r-item-all .r-item-campaign{width:100%}.icon-baseline{display:inline-flex;align-self:center;margin-right:.4rem}.icon-baseline svg{top:.125em;position:relative;height:1em;width:1em}.dpinlb{display:inline-block;vertical-align:top}.r-recurence-past{opacity:.5}.recurence-schedul{position:relative}.recurence-schedul-more{display:block}.recurence-modal-display{background-color:#fff;position:absolute;top:0;left:0;right:0;width:-webkit-max-content;width:max-content;padding:10px 15px!important;box-shadow:.7px 0 5.3px #00000006,2.5px 0 17.9px #00000009,11px 0 80px #0000000f;border-radius:10px;border:solid 1px #dadada}.recurence-modal-display span{font-size:14px;color:#000;border-bottom:solid 1px #969696;margin-bottom:.4rem;display:block}.recurence-modal-display ul{margin:0}.recurence-modal-display li{list-style:none}.recurence-modal-hide{display:none}.r-content-img{padding-bottom:60%;margin-top:1.5rem;position:relative}.r-content-header{margin-bottom:1rem}.r-content-title{margin:0}.r-content-recur-start-hours{display:flex}.news-info-title{font-weight:700;margin-bottom:1rem;display:block;color:#008fd2}.r-content-news-info{display:flex;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap}@media screen and (min-width:600px){.r-content-news-info-container{column-count:2}}.r-content-news-info-container>div{margin:.6rem 0;padding-right:3rem;break-inside:avoid}.r-content-news-info-container>div svg{width:16px}.r-content-news-info-container .r-content-news-info--date{display:flex}.r-content-news-info-container .r-content-news-info--date .r-content-date-start,.r-content-news-info-container .r-content-news-info--date .r-content-date-end,.r-content-news-info-container .r-content-news-info--date .r-content-date-start-hours{display:flex;flex-wrap:wrap}.r-content-news-info-container .r-content-news-info-social svg{width:30px;height:30px}.r-content-news-info-container .r-content-news-info-social ul{display:flex;align-items:center;margin:0}.r-content-news-info-container .r-content-news-info-social ul li{list-style:none}.r-content-news-info-container .r-content-news-info-social ul li a:hover{opacity:.7}@media screen and (max-width:1000px){.r-content-news-info-action{margin-top:1.1rem}}.r-content-news-info-action a{text-decoration:none}.r-content-news-info-action>div{margin:.6rem 0}.r-content-news-info-action .r-content-booking{margin-top:0}.r-content-news-info-action .r-content-booking a{background:#000;color:#fff;padding:.4rem 1rem;text-decoration:none;display:block;border-radius:10px 10px 10px 0/10px 10px 10px 0px;font-weight:500;display:flex;align-items:center;gap:10px;cursor:pointer}.r-content-news-info-action .r-content-booking a svg{width:22px;fill:#fff}.r-content-news-info-action .r-content-booking a:hover{color:#fff;background:#3f3f3f}.r-content-topics{display:flex;gap:15px}.r-content-topics span{padding:5px;background:#f1f1f1;border-radius:5px;margin-right:5px}.r-content-title-cat{color:#8e8e8e;margin-right:5px;font-size:14px}smartweb-campaign{min-height:80vh;display:block}.campaign-comment-container{margin-top:2rem;padding:24px;border:solid 1px #cbcbcb;border-radius:5px;font-size:14px;color:#6c6c6c}.campaign-comment-title{font-size:18px;font-weight:400;margin-bottom:2rem;color:#0f0f0f;border-bottom:solid 1px #cbcbcb}.campaign-comment p{margin-bottom:0;margin-top:5px;font-size:1rem;color:#171717}.campaign-comment-actions{text-align:center}.campaign-comment-action-button{margin:1rem 0;background:#f5f5f5;display:inline-block;padding:9px;border-radius:5px;text-transform:uppercase;font-size:14px;font-weight:500;text-align:center;border:solid 1px transparent}.campaign-comment-action-button:hover,.campaign-comment-action-button:focus{border:solid 1px #bbbbbb}.campaign-info-container{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:1rem}.campaign-info-container div{padding:5px;background:#f1f1f1;border-radius:5px;margin-right:5px;font-size:14px}.campaign-info-container div i{margin-right:5px}.no-map .envent-content{max-width:700px;margin:0 auto}.no-map .r-result-filter-container{position:relative;top:inherit}.no-map .r-item-title{margin-bottom:1rem!important}.no-map .r-item-text{padding-bottom:2rem}@media screen and (min-width:600px){.no-map .r-campaign-wrapper{display:block}.no-map .r-result-list{max-width:1296px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}.no-map .r-list-item-group{transition:all .2s ease}.no-map .r-list-item-group:hover,.no-map .r-list-item-group:focus{transform:translateY(-10px)!important}.no-map .r-list-item-group .r-list-item{flex-direction:column!important;box-shadow:0 8px 26px #00000014}.no-map .r-list-item-group .r-list-item .r-item-img{border-radius:0!important;width:100%!important;height:0!important;padding-bottom:60%!important;margin-bottom:.5rem}.no-map .r-list-item-group .r-list-item .r-item-text{display:grid;grid-template-columns:1fr 1fr;margin-right:1.5rem}.no-map .r-list-item-group .r-list-item .r-item-text:after{display:none}.no-map .r-list-item-group .r-list-item .r-item-text .r-item-categorie{grid-row-start:1}.no-map .r-list-item-group .r-list-item .r-item-text .r-item-title{font-weight:500!important;grid-row-start:2;grid-column-start:1;grid-column-end:3;margin-bottom:2rem;margin-top:1rem}.no-map .r-list-item-group .r-list-item .r-item-text .r-item-date{grid-row-start:1;grid-column-start:2;justify-self:end}}.no-map .r-result.r-campaign-result{max-width:1296px}.no-map .campaign-content{max-width:700px;margin:0 auto}.r-list-item.Publié sans vote .campaign-vote,figure.Publié sans vote .campaign-vote{display:none}.vote_nodisplay{display:none}.vote_noactif{opacity:.6;pointer-events:none;filter:grayscale(30%);color:#c7c7c7}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Fix the “Publié sans vote” selector.

The spaces make sans and vote descendant/type selectors, so this will not match an element whose class list is Publié sans vote; the vote controls can remain visible. Use .r-list-item.Publié.sans.vote or a dedicated status class/data attribute, then regenerate the artifact.

🧰 Tools
🪛 Stylelint (17.14.0)

[error] 1-1: Duplicate property "display" (declaration-block-no-duplicate-properties)

(declaration-block-no-duplicate-properties)


[error] 1-1: Overridden property "background-size" by shorthand "background" (declaration-block-no-shorthand-property-overrides)

(declaration-block-no-shorthand-property-overrides)


[error] 1-1: Unknown type selector "sans" (selector-type-no-unknown)

(selector-type-no-unknown)


[error] 1-1: Unknown type selector "vote" (selector-type-no-unknown)

(selector-type-no-unknown)


[error] 1-1: Unknown type selector "sans" (selector-type-no-unknown)

(selector-type-no-unknown)


[error] 1-1: Unknown type selector "vote" (selector-type-no-unknown)

(selector-type-no-unknown)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/imio/smartweb/core/webcomponents/build/css/chunks/Campaign-QxpnJXo1.css`
at line 1, Update the selectors targeting “Publié sans vote” near
`.vote_nodisplay` so they match the intended class combination, using
`.r-list-item.Publié.sans.vote` and the equivalent `figure` selector or an
existing dedicated status attribute. Regenerate the compiled CSS artifact after
correcting the selector.

Source: Linters/SAST tools

@@ -0,0 +1 @@
import{r as l,j as e,R as G}from"../smartweb-webcomponents-compiled.js";import{T as z,S as D,P as U,u as te,a as Q,q as O,b as Y,c as H,L as se,B as le,d as ae,t as re,R as ie,e as X}from"./translation-W4UY8Aou.js";import{m as W,S as K,r as ne}from"./MainFilter-Cy_imqzz.js";import{i as $,M as ce}from"./spotlight.bundle-CVQJmd_M.js";import{A as J}from"./AccessibleClearIndicator-DzBjnRGa.js";import{M as ee}from"./Map-C2YCj66D.js";import"./leaflet-BtpdQwxt.js";function Z({onChange:s,sub:f,title:x,token:y,isActive:L,setCat:p,onClick:_,unique:c}){const[t,m]=l.useState({first:null,second:null,third:null}),[h,g]=l.useState({secondLevel:c||!1,thirdLevel:!1}),[N,S]=l.useState({firstLevel:null,secondLevel:null}),n=l.useMemo(()=>f?f.map(i=>({value:i.token,label:i.title,...i.sub&&{sub:i.sub}})):null,[f]),A=l.useCallback(()=>{g(i=>({secondLevel:!i.secondLevel,thirdLevel:!1})),m(i=>({...i,second:null,third:null}))},[]),w=l.useCallback((i,o)=>{if(i!=null&&i.sub){const d=i.sub.map(M=>({value:M.token,label:M.title}));m(M=>({...M,second:i.label,third:null})),S(M=>({...M,secondLevel:d})),g(M=>({...M,thirdLevel:!0})),s(i,o)}else m(d=>({...d,second:i.label,third:null})),S(d=>({...d,secondLevel:null})),s(i,o)},[s]),E=l.useCallback((i,o)=>{m(d=>({...d,third:i.label})),s(i,o)},[s]),b=l.useCallback((i,o)=>{p(d=>!d),h.secondLevel?s(null,{name:"taxonomy_contact_category_for_filtering"}):s({value:i,label:o},{name:"taxonomy_contact_category_for_filtering"})},[h.secondLevel,s,p]);return l.useEffect(()=>{L||(g({secondLevel:c||!1,thirdLevel:!1}),m(i=>({...i,second:null,third:null})))},[L,c]),l.useEffect(()=>{f&&S(i=>({...i,firstLevel:n}))},[f,n]),e.jsx(z,{children:({translate:i})=>e.jsx("div",{onClick:_,children:e.jsxs("div",{className:h.secondLevel?"dropDownFilter dropDownFilter-active":"dropDownFilter",children:[e.jsx("a",{className:"sub0",style:c?{display:"none"}:{},href:"#",value:x,onClick:o=>{o.preventDefault(),A(),b(y,x)},children:x}),N.firstLevel&&e.jsx("div",{className:h.secondLevel?"sub1 dropDownFilter-visible":"sub1 dropDownFilter-invisble",...!h.secondLevel&&{inert:""},children:e.jsx(D,{name:"taxonomy_contact_category_for_filtering",className:`select-custom-class library-facilities react-select-container ${t.second&&t.second!=="Catégories"?"select-has-value":""}`,classNamePrefix:"react-select-custom-multi",onChange:w,options:N.firstLevel,value:t.second,placeholder:t.second?t.second:i({text:"Catégories"})})}),N.secondLevel&&e.jsx("div",{className:h.thirdLevel?"sub2 dropDownFilter-visible":"sub2 dropDownFilter-invisble",...!h.thirdLevel&&{inert:""},children:e.jsx(D,{name:"taxonomy_contact_category_for_filtering",className:`react-custom-multi-select-container library-facilities ${t.third&&t.third!=="Catégories"?"select-has-value":""}`,classNamePrefix:"react-select-custom-multi",onChange:E,options:N.secondLevel,value:t.third,placeholder:t.third?t.third:i({text:"Catégories"})})})]})})})}Z.propTypes={onChange:U.func.isRequired,sub:U.arrayOf(U.shape({token:U.string.isRequired,title:U.string.isRequired,sub:U.array})),title:U.string.isRequired,token:U.string.isRequired,isActive:U.bool,setCat:U.func.isRequired,onClick:U.func,unique:U.bool};Z.defaultProps={isActive:!1,onClick:()=>{},unique:!1};function oe(s){let f=[];return s.forEach(y=>{let L=y.title.split(" » "),p=y.token,_=f;L.forEach(c=>{let t=_.find(m=>m.title===c);if(t)t.sub||(t.sub=[]),_=t.sub;else{let m={title:c,token:p,sub:[]};_.push(m),_=m.sub}})}),JSON.parse(JSON.stringify(f).replace(/,"sub":\[\]/g,""))}function de(s){let f=te();const[x,y]=l.useState(s.activeFilter),L={b_start:0,fullobjects:1},[p,_]=l.useState([]),[c,t]=l.useState(null),[m,h]=l.useState(null),[g,N]=l.useState(null),[S,n]=l.useState(!1),[A,w]=l.useState(null),[E,b]=l.useState(!1),i=l.useMemo(()=>({method:"get",url:"",baseURL:s.url,headers:{Accept:"application/json"},params:L}),[s.url]),{response:o}=Q(i),d=l.useMemo(()=>{var P,R,j;if(!o)return null;const r=(P=o.topics)==null?void 0:P.map(B=>({value:B.token,label:B.title})),v=oe(o.taxonomy_contact_category),k=(R=o.taxonomy_contact_category)==null?void 0:R.map(B=>({value:B.token,label:B.title})),C=(j=o.facilities)==null?void 0:j.map(B=>({value:B.token,label:B.title}));return{topics:r,taxonomy:k,facilities:C,taxodonnee:v}},[o]);l.useEffect(()=>{d&&(_(d.topics),t(d.taxodonnee),h(d.taxonomy),N(d.facilities))},[d]);const M=l.useCallback(({target:{name:r,value:v}})=>{v.length>2?y(k=>({...k,[r]:v}),[]):y(k=>{const C={...k},{[r]:P,...R}=C;return R})}),q=l.useCallback((r,v)=>{const k=v.name;r?y(C=>({...C,[k]:r.value}),[]):y(C=>{const P={...C},{[k]:R,...j}=P;return j})}),V=l.useRef(!0);l.useEffect(()=>{if(V.current){V.current=!1;return}f({pathname:"./",search:O.stringify(x)}),s.onChange(x)},[x]);function T(r){r.preventDefault(),s.onChange(x)}let a=p&&p.filter(r=>r.value===s.activeFilter.topics);m&&m.filter(r=>r.value===s.activeFilter.taxonomy_contact_category);let u=g&&g.filter(r=>r.value===s.activeFilter.facilities),F=$&&$.filter(r=>r.value===s.activeFilter.topics);const I=r=>{w(r)};return l.useEffect(()=>{const r=()=>{b(window.innerWidth<=630)};return r(),window.addEventListener("resize",r),()=>window.removeEventListener("resize",r)},[]),e.jsxs(G.Fragment,{children:[e.jsx("div",{className:"react-filters-menu",children:e.jsxs("div",{className:"react-filters-container",children:[e.jsx("form",{className:"r-filter r-filter-search",onSubmit:T,children:e.jsxs("div",{className:"relative",children:[e.jsx(z,{children:({translate:r})=>e.jsx("label",{className:"sr-only",for:"annuaire-search",children:r({text:"Rechercher dans l'annuaire"})})}),e.jsx(z,{children:({translate:r})=>e.jsx("input",{className:"input-custom-class",id:"annuaire-search",name:"SearchableText",type:"search",value:x.SearchableText,onChange:M,placeholder:r({text:"Recherche"})})}),e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",stroke:"#9f9f9f",strokeWidth:"4","aria-hidden":"true",display:"block",overflow:"visible",style:{height:16,width:16},viewBox:"0 0 32 32",children:e.jsx("path",{d:"M13 24a11 11 0 1 0 0-22 11 11 0 0 0 0 22zm8-3 9 9"})})]})}),e.jsx("div",{className:"react-sep-menu"}),e.jsx("div",{className:"r-filter top-filter topics-Filter",children:e.jsx(z,{children:({translate:r})=>e.jsx(D,{styles:W,name:"topics",className:"select-custom-no-border",isClearable:!0,components:{ClearIndicator:J},onChange:q,options:p&&p,placeholder:r({text:"Thématiques"}),value:a&&a[0]})})}),e.jsx("div",{className:"r-filter top-filter iam-Filter",children:e.jsx(z,{children:({translate:r})=>e.jsx(D,{styles:W,name:"iam",className:"select-custom-no-border",isClearable:!0,components:{ClearIndicator:J},onChange:q,options:$&&$.map(v=>({...v,label:r({text:v.label})})),placeholder:r({text:"Profil"}),value:F&&F[0]})})}),e.jsx("div",{className:"r-filter top-filter facilities-Filter",children:e.jsx(z,{children:({translate:r})=>e.jsx(D,{styles:W,name:"facilities",className:"select-custom-no-border",isClearable:!0,components:{ClearIndicator:J},onChange:q,options:g&&g,placeholder:r({text:"Facilités"}),value:u&&u[0]})})})]})}),e.jsxs("button",{className:"more-filter-btn more-filter-btn-annuaire collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#collapseOne","aria-expanded":"false","aria-controls":"collapseOne",children:[e.jsx("span",{children:e.jsx(z,{children:({translate:r})=>e.jsx("span",{children:r({text:"Catégories"})})})}),e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",style:{height:16,width:16},fill:"none",stroke:"currentColor",strokeWidth:"3","aria-hidden":"true",display:"block",overflow:"visible",children:e.jsx("path",{d:"M7 16H3m26 0H15M29 6h-4m-8 0H3m26 20h-4M7 16a4 4 0 108 0 4 4 0 00-8 0zM17 6a4 4 0 108 0 4 4 0 00-8 0zm0 20a4 4 0 108 0 4 4 0 00-8 0zm0 0H3"})})]}),e.jsx("div",{id:"collapseOne",className:`accordion-collapse ${E?"collapse":""} more-filter-container`,"aria-labelledby":"headingOne","data-bs-parent":"#accordionExample",children:e.jsxs("div",{className:"accordion-body-annuaire",children:[(c==null?void 0:c.length)!==1?e.jsx("span",{className:"accordion-body-annuaire-title-full-screen",children:e.jsx(z,{children:({translate:r})=>e.jsx("span",{children:r({text:"Catégories"})})})}):"",e.jsx("div",{className:"taxonomy-Filter",children:(c==null?void 0:c.length)===1?e.jsx(Z,{...c[0],setCat:n,isActive:A===0,onClick:()=>I(0),onChange:q,unique:!0}):c==null?void 0:c.map((r,v)=>e.jsx(Z,{...r,setCat:n,isActive:v===A,onClick:()=>I(v),onChange:q,unique:!1},v))})]})})]})}const he=({queryUrl:s,onChange:f,contextAuthenticatedUser:x})=>{const y=te(),{u:L,...p}=Object.assign({UID:O.parse(Y().toString()).u,fullobjects:1}),[_,c]=l.useState(p),[t,m]=l.useState({}),[h,g]=l.useState(),[N,S]=l.useState(),[n,A]=l.useState([]),[w,E]=l.useState(),[b,i]=l.useState(!0),{response:o,isLoading:d}=Q({method:"get",url:"",baseURL:s,headers:{Accept:"application/json"},params:_});l.useEffect(()=>{c(p)},[O.parse(Y().toString()).u]),l.useEffect(()=>{o!==null&&m(o.items[0]),window.scrollTo({top:0,left:0,behavior:"instant"})},[o]),l.useEffect(()=>{if(t.image_affiche_scale){const a=new Image;a.src=t.image_affiche_scale,a.onload=()=>{E(a)}}},[t]),l.useEffect(()=>{if(!t||!t.title)return;document.title=t.title;const a=(w==null?void 0:w.width)||"",u=(w==null?void 0:w.height)||"";[{name:"description"},{property:"og:title"},{property:"og:description"},{property:"og:url"},{property:"og:type"},{property:"og:image"},{property:"og:image:type"},{property:"og:image:alt"},{property:"og:image:width"},{property:"og:image:height"}].forEach(({name:r,property:v})=>{const k=r?`meta[name="${r}"]`:`meta[property="${v}"]`,C=document.head.querySelector(k);C&&document.head.removeChild(C)});const I=[{name:"description",content:[t.subtitle,t.description].filter(Boolean).join(" - ")},{property:"og:title",content:t.title},{property:"og:description",content:[t.subtitle,t.description].filter(Boolean).join(" - ")},{property:"og:url",content:typeof window<"u"?window.location.href:""},{property:"og:type",content:"profile"}];t.image_affiche_scale&&(I.push({property:"og:image",content:t.image_affiche_scale}),a&&u&&(I.push({property:"og:image:width",content:a}),I.push({property:"og:image:height",content:u}))),I.forEach(({name:r,property:v,content:k})=>{const C=document.createElement("meta");r&&C.setAttribute("name",r),v&&C.setAttribute("property",v),C.setAttribute("content",k),document.head.appendChild(C)})},[t,w]),l.useEffect(()=>{t.urls&&A(t.urls.filter(a=>a.type!=="website"))},[t]),l.useEffect(()=>{t.items&&t.items.length>0&&(g(t.items.filter(a=>a["@type"]==="File")),S(t.items.filter(a=>a["@type"]==="Image")))},[t]);function M(){y(".."),f(null)}let q=t.country&&t.country.title,V="https://www.google.com/maps/dir/?api=1&destination="+t.street+"+"+t.number+"+"+t.complement+"+"+t.zipcode+"+"+t.city+"+"+q;V=V.replaceAll("+null","");const T=()=>{i(!b)};return d?e.jsxs("div",{className:"lds-roller-container",children:[e.jsx(H,{text:"Chargement..."}),e.jsxs("div",{className:"lds-roller",children:[e.jsx("div",{}),e.jsx("div",{}),e.jsx("div",{}),e.jsx("div",{}),e.jsx("div",{}),e.jsx("div",{}),e.jsx("div",{}),e.jsx("div",{})]})]}):e.jsxs("div",{className:"annuaire-content r-content",children:[e.jsx(z,{children:({translate:a})=>e.jsx("button",{type:"button",onClick:M,"aria-label":a({text:"Retour à la liste"}),title:a({text:"Retour à la liste"}),className:"r-back-button",children:e.jsx("i",{clasName:"bi bi-arrow-left-short"})})}),x==="False"?e.jsx(z,{children:({translate:a})=>e.jsx("a",{href:t["@id"],target:"_blank",title:a({text:"Editer la fiche"}),className:"edit-rest-elements edit-rest-elements-content",children:e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"currentColor",class:"bi bi-pencil-square",viewBox:"0 0 16 16",children:[e.jsx("path",{d:"M15.502 1.94a.5.5 0 0 1 0 .706L14.459 3.69l-2-2L13.502.646a.5.5 0 0 1 .707 0l1.293 1.293zm-1.75 2.456-2-2L4.939 9.21a.5.5 0 0 0-.121.196l-.805 2.414a.25.25 0 0 0 .316.316l2.414-.805a.5.5 0 0 0 .196-.12l6.813-6.814z"}),e.jsx("path",{"fill-rule":"evenodd",d:"M1 13.5A1.5 1.5 0 0 0 2.5 15h11a1.5 1.5 0 0 0 1.5-1.5v-6a.5.5 0 0 0-1 0v6a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11a.5.5 0 0 1 .5-.5H9a.5.5 0 0 0 0-1H2.5A1.5 1.5 0 0 0 1 2.5z"})]})})}):"",e.jsxs("article",{children:[e.jsxs("header",{children:[e.jsx("h2",{className:"r-content-title",children:t.title}),t.subtitle?e.jsx("h3",{className:"r-content-subtitle",children:t.subtitle}):""]}),t.image_affiche_scale&&e.jsxs("figure",{className:"r-content-figure",children:[e.jsx("div",{className:"r-content-figure-blur",style:{backgroundImage:"url("+t.image_affiche_scale+")"}}),e.jsx("img",{className:"r-content-figure-img",src:t.image_affiche_scale,style:{objectFit:w&&w.width>=w.height?"cover":"contain"},alt:""})]})]}),e.jsxs("div",{className:"contactCard",children:[e.jsxs("div",{className:"contactText",children:[e.jsx("div",{className:"r-content-description",children:e.jsx(ce,{children:t.description})}),e.jsxs("div",{className:"contactTextAll",children:[e.jsx("p",{className:"annuaire-info-title",children:e.jsx(H,{text:"Infos pratiques"})}),t.category?e.jsx("span",{children:t.category}):"",t.street?e.jsxs("div",{className:"annaire-adresse",children:[e.jsx("div",{className:"annaire-adresse-icon",children:e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"currentColor",viewBox:"0 0 16 16",children:e.jsx("path",{d:"M8 16s6-5.686 6-10A6 6 0 0 0 2 6c0 4.314 6 10 6 10zm0-7a3 3 0 1 1 0-6 3 3 0 0 1 0 6z"})})}),e.jsx("div",{className:"annaire-adresse-content",children:e.jsxs("a",{href:V,target:"_blank",rel:"noreferrer",children:[t.number?e.jsx("span",{children:t.number+" "}):"",t.street?e.jsx("span",{children:t.street+", "}):"",t.complement?e.jsx("span",{children:t.complement+", "}):"",t.zipcode?e.jsx("span",{children:t.zipcode+" "}):"",t.city?e.jsx("span",{children:t.city}):""]})})]}):"",t.table_date&&e.jsx(z,{children:({translate:a})=>e.jsxs("a",{href:"javascript:void(0)",onClick:T,className:"annuaire-schedul",role:"button","aria-expanded":"false","aria-label":a({text:"Afficher l'horaire complet"}),children:[e.jsx("div",{className:"annuaire-schedul-icon",children:e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"currentColor",className:"bi bi-clock-fill",viewBox:"0 0 16 16",children:e.jsx("path",{d:"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0M8 3.5a.5.5 0 0 0-1 0V9a.5.5 0 0 0 .252.434l3.5 2a.5.5 0 0 0 .496-.868L8 8.71z"})})}),e.jsx("div",{className:"annuaire-schedul-content",children:b?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:t.schedule_for_today==="Fermé"?"annuaire-day-close":"annuaire-day-open",children:e.jsx(H,{text:t.schedule_for_today})}),e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"10",height:"10",fill:"currentColor",className:"bi bi-caret-down-fill",viewBox:"0 0 16 16",children:e.jsx("path",{d:"M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z"})})]}):e.jsx("div",{children:e.jsx("ul",{children:t.table_date.map((u,F)=>{const I=Object.keys(u)[0],r=u[I];return e.jsxs("li",{children:[e.jsxs("strong",{children:[e.jsx(H,{text:I}),":"]})," ",r]},F)})})})})]})}),t.phones&&t.phones.length>0?e.jsxs("div",{className:"annuaire-phone",children:[e.jsx("div",{className:"annuaire-phone-icon",children:e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"currentColor",viewBox:"0 0 16 16",children:e.jsx("path",{d:"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511z"})})}),e.jsx("div",{className:"annuaire-phone-content",children:t.phones.map((a,u)=>e.jsxs("span",{children:[a.label?a.label+": ":"",e.jsx("a",{href:"tel:"+a.number,children:a.number})]},u))})]}):"",t.mails&&t.mails.length>0?e.jsxs("div",{className:"annuaire-website-mails",children:[e.jsx("div",{className:"annuaire-website-mails-icon",children:e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"currentColor",viewBox:"0 0 16 16",children:e.jsx("path",{d:"M.05 3.555A2 2 0 0 1 2 2h12a2 2 0 0 1 1.95 1.555L8 8.414.05 3.555ZM0 4.697v7.104l5.803-3.558L0 4.697ZM6.761 8.83l-6.57 4.027A2 2 0 0 0 2 14h12a2 2 0 0 0 1.808-1.144l-6.57-4.027L8 9.586l-1.239-.757Zm3.436-.586L16 11.801V4.697l-5.803 3.546Z"})})}),e.jsx("div",{className:"annuaire-website-mails-content",children:t.mails.map((a,u)=>e.jsxs("span",{children:[a.label?a.label+": ":"",e.jsx("a",{href:"mailto:"+a.mail_address,children:a.mail_address})]},u))})]}):"",t.urls&&t.urls.filter(a=>a.type==="website").length>0?e.jsxs("div",{className:"annuaire-website-link",children:[e.jsx("div",{className:"annuaire-website-link-icon",children:e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 16 16",children:e.jsx("path",{d:"M2.5 2A1.5 1.5 0 0 0 1 3.5V12h14V3.5A1.5 1.5 0 0 0 13.5 2h-11zM0 12.5h16a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 12.5z"})})}),e.jsx("ul",{className:"annuaire-website-link-content",children:t.urls.filter(a=>a.type==="website").map((a,u)=>e.jsx(e.Fragment,{children:e.jsx("li",{children:e.jsx("a",{href:a.url,target:"_blank",rel:"noreferrer",children:a.url})},u)}))})]}):"",n&&e.jsx("div",{className:"annuaire-social-link",children:n.length>1?e.jsx("ul",{children:n.map((a,u)=>e.jsx("li",{children:e.jsx("a",{href:a.url,target:"_blank",rel:"noreferrer",children:a.type==="facebook"?e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"25",height:"25",fill:"currentColor",viewBox:"0 0 16 16",children:e.jsx("path",{d:"M16 8.049c0-4.446-3.582-8.05-8-8.05C3.58 0-.002 3.603-.002 8.05c0 4.017 2.926 7.347 6.75 7.951v-5.625h-2.03V8.05H6.75V6.275c0-2.017 1.195-3.131 3.022-3.131.876 0 1.791.157 1.791.157v1.98h-1.009c-.993 0-1.303.621-1.303 1.258v1.51h2.218l-.354 2.326H9.25V16c3.824-.604 6.75-3.934 6.75-7.951z"})}):a.type==="instagram"?e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"25",height:"25",fill:"currentColor",viewBox:"0 0 16 16",children:e.jsx("path",{d:"M8 0C5.829 0 5.556.01 4.703.048 3.85.088 3.269.222 2.76.42a3.917 3.917 0 0 0-1.417.923A3.927 3.927 0 0 0 .42 2.76C.222 3.268.087 3.85.048 4.7.01 5.555 0 5.827 0 8.001c0 2.172.01 2.444.048 3.297.04.852.174 1.433.372 1.942.205.526.478.972.923 1.417.444.445.89.719 1.416.923.51.198 1.09.333 1.942.372C5.555 15.99 5.827 16 8 16s2.444-.01 3.298-.048c.851-.04 1.434-.174 1.943-.372a3.916 3.916 0 0 0 1.416-.923c.445-.445.718-.891.923-1.417.197-.509.332-1.09.372-1.942C15.99 10.445 16 10.173 16 8s-.01-2.445-.048-3.299c-.04-.851-.175-1.433-.372-1.941a3.926 3.926 0 0 0-.923-1.417A3.911 3.911 0 0 0 13.24.42c-.51-.198-1.092-.333-1.943-.372C10.443.01 10.172 0 7.998 0h.003zm-.717 1.442h.718c2.136 0 2.389.007 3.232.046.78.035 1.204.166 1.486.275.373.145.64.319.92.599.28.28.453.546.598.92.11.281.24.705.275 1.485.039.843.047 1.096.047 3.231s-.008 2.389-.047 3.232c-.035.78-.166 1.203-.275 1.485a2.47 2.47 0 0 1-.599.919c-.28.28-.546.453-.92.598-.28.11-.704.24-1.485.276-.843.038-1.096.047-3.232.047s-2.39-.009-3.233-.047c-.78-.036-1.203-.166-1.485-.276a2.478 2.478 0 0 1-.92-.598 2.48 2.48 0 0 1-.6-.92c-.109-.281-.24-.705-.275-1.485-.038-.843-.046-1.096-.046-3.233 0-2.136.008-2.388.046-3.231.036-.78.166-1.204.276-1.486.145-.373.319-.64.599-.92.28-.28.546-.453.92-.598.282-.11.705-.24 1.485-.276.738-.034 1.024-.044 2.515-.045v.002zm4.988 1.328a.96.96 0 1 0 0 1.92.96.96 0 0 0 0-1.92zm-4.27 1.122a4.109 4.109 0 1 0 0 8.217 4.109 4.109 0 0 0 0-8.217zm0 1.441a2.667 2.667 0 1 1 0 5.334 2.667 2.667 0 0 1 0-5.334z"})}):a.type==="twitter"?e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"25",height:"25",fill:"currentColor",class:"bi bi-twitter-x",viewBox:"0 0 16 16",children:e.jsx("path",{d:"M12.6.75h2.454l-5.36 6.142L16 15.25h-4.937l-3.867-5.07-4.425 5.07H.316l5.733-6.57L0 .75h5.063l3.495 4.633L12.601.75Zm-.86 13.028h1.36L4.323 2.145H2.865z"})}):a.type==="youtube"?e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"25",height:"25",fill:"currentColor",viewBox:"0 0 16 16",children:e.jsx("path",{d:"M8.051 1.999h.089c.822.003 4.987.033 6.11.335a2.01 2.01 0 0 1 1.415 1.42c.101.38.172.883.22 1.402l.01.104.022.26.008.104c.065.914.073 1.77.074 1.957v.075c-.001.194-.01 1.108-.082 2.06l-.008.105-.009.104c-.05.572-.124 1.14-.235 1.558a2.007 2.007 0 0 1-1.415 1.42c-1.16.312-5.569.334-6.18.335h-.142c-.309 0-1.587-.006-2.927-.052l-.17-.006-.087-.004-.171-.007-.171-.007c-1.11-.049-2.167-.128-2.654-.26a2.007 2.007 0 0 1-1.415-1.419c-.111-.417-.185-.986-.235-1.558L.09 9.82l-.008-.104A31.4 31.4 0 0 1 0 7.68v-.123c.002-.215.01-.958.064-1.778l.007-.103.003-.052.008-.104.022-.26.01-.104c.048-.519.119-1.023.22-1.402a2.007 2.007 0 0 1 1.415-1.42c.487-.13 1.544-.21 2.654-.26l.17-.007.172-.006.086-.003.171-.007A99.788 99.788 0 0 1 7.858 2h.193zM6.4 5.209v4.818l4.157-2.408L6.4 5.209z"})}):a.type==="linkedin"?e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"25",height:"25",fill:"currentColor",class:"bi bi-linkedin",viewBox:"0 0 16 16",children:e.jsx("path",{d:"M0 1.146C0 .513.526 0 1.175 0h13.65C15.474 0 16 .513 16 1.146v13.708c0 .633-.526 1.146-1.175 1.146H1.175C.526 16 0 15.487 0 14.854zm4.943 12.248V6.169H2.542v7.225zm-1.2-8.212c.837 0 1.358-.554 1.358-1.248-.015-.709-.52-1.248-1.342-1.248S2.4 3.226 2.4 3.934c0 .694.521 1.248 1.327 1.248zm4.908 8.212V9.359c0-.216.016-.432.08-.586.173-.431.568-.878 1.232-.878.869 0 1.216.662 1.216 1.634v3.865h2.401V9.25c0-2.22-1.184-3.252-2.764-3.252-1.274 0-1.845.7-2.165 1.193v.025h-.016l.016-.025V6.169h-2.4c.03.678 0 7.225 0 7.225z"})}):a.type==="pinterest"?e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"25",height:"25",fill:"currentColor",viewBox:"0 0 16 16",children:e.jsx("path",{d:"M8 0a8 8 0 0 0-2.915 15.452c-.07-.633-.134-1.606.027-2.297.146-.625.938-3.977.938-3.977s-.239-.479-.239-1.187c0-1.113.645-1.943 1.448-1.943.682 0 1.012.512 1.012 1.127 0 .686-.437 1.712-.663 2.663-.188.796.4 1.446 1.185 1.446 1.422 0 2.515-1.5 2.515-3.664 0-1.915-1.377-3.254-3.342-3.254-2.276 0-3.612 1.707-3.612 3.471 0 .688.265 1.425.595 1.826a.24.24 0 0 1 .056.23c-.061.252-.196.796-.222.907-.035.146-.116.177-.268.107-1-.465-1.624-1.926-1.624-3.1 0-2.523 1.834-4.84 5.286-4.84 2.775 0 4.932 1.977 4.932 4.62 0 2.757-1.739 4.976-4.151 4.976-.811 0-1.573-.421-1.834-.919l-.498 1.902c-.181.695-.669 1.566-.995 2.097A8 8 0 1 0 8 0z"})}):""})},u))}):e.jsx("div",{children:e.jsx("a",{href:n[0]&&n[0].url,target:"_blank",rel:"noreferrer",children:n[0]&&n[0].type==="facebook"?e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"25",height:"25",fill:"currentColor",viewBox:"0 0 16 16",children:e.jsx("path",{d:"M16 8.049c0-4.446-3.582-8.05-8-8.05C3.58 0-.002 3.603-.002 8.05c0 4.017 2.926 7.347 6.75 7.951v-5.625h-2.03V8.05H6.75V6.275c0-2.017 1.195-3.131 3.022-3.131.876 0 1.791.157 1.791.157v1.98h-1.009c-.993 0-1.303.621-1.303 1.258v1.51h2.218l-.354 2.326H9.25V16c3.824-.604 6.75-3.934 6.75-7.951z"})}):n[0]&&n[0].type==="instagram"?e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"25",height:"25",fill:"currentColor",viewBox:"0 0 16 16",children:e.jsx("path",{d:"M8 0C5.829 0 5.556.01 4.703.048 3.85.088 3.269.222 2.76.42a3.917 3.917 0 0 0-1.417.923A3.927 3.927 0 0 0 .42 2.76C.222 3.268.087 3.85.048 4.7.01 5.555 0 5.827 0 8.001c0 2.172.01 2.444.048 3.297.04.852.174 1.433.372 1.942.205.526.478.972.923 1.417.444.445.89.719 1.416.923.51.198 1.09.333 1.942.372C5.555 15.99 5.827 16 8 16s2.444-.01 3.298-.048c.851-.04 1.434-.174 1.943-.372a3.916 3.916 0 0 0 1.416-.923c.445-.445.718-.891.923-1.417.197-.509.332-1.09.372-1.942C15.99 10.445 16 10.173 16 8s-.01-2.445-.048-3.299c-.04-.851-.175-1.433-.372-1.941a3.926 3.926 0 0 0-.923-1.417A3.911 3.911 0 0 0 13.24.42c-.51-.198-1.092-.333-1.943-.372C10.443.01 10.172 0 7.998 0h.003zm-.717 1.442h.718c2.136 0 2.389.007 3.232.046.78.035 1.204.166 1.486.275.373.145.64.319.92.599.28.28.453.546.598.92.11.281.24.705.275 1.485.039.843.047 1.096.047 3.231s-.008 2.389-.047 3.232c-.035.78-.166 1.203-.275 1.485a2.47 2.47 0 0 1-.599.919c-.28.28-.546.453-.92.598-.28.11-.704.24-1.485.276-.843.038-1.096.047-3.232.047s-2.39-.009-3.233-.047c-.78-.036-1.203-.166-1.485-.276a2.478 2.478 0 0 1-.92-.598 2.48 2.48 0 0 1-.6-.92c-.109-.281-.24-.705-.275-1.485-.038-.843-.046-1.096-.046-3.233 0-2.136.008-2.388.046-3.231.036-.78.166-1.204.276-1.486.145-.373.319-.64.599-.92.28-.28.546-.453.92-.598.282-.11.705-.24 1.485-.276.738-.034 1.024-.044 2.515-.045v.002zm4.988 1.328a.96.96 0 1 0 0 1.92.96.96 0 0 0 0-1.92zm-4.27 1.122a4.109 4.109 0 1 0 0 8.217 4.109 4.109 0 0 0 0-8.217zm0 1.441a2.667 2.667 0 1 1 0 5.334 2.667 2.667 0 0 1 0-5.334z"})}):n[0]&&n[0].type==="twitter"?e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"25",height:"25",fill:"currentColor",class:"bi bi-twitter-x",viewBox:"0 0 16 16",children:e.jsx("path",{d:"M12.6.75h2.454l-5.36 6.142L16 15.25h-4.937l-3.867-5.07-4.425 5.07H.316l5.733-6.57L0 .75h5.063l3.495 4.633L12.601.75Zm-.86 13.028h1.36L4.323 2.145H2.865z"})}):n[0]&&n[0].type==="youtube"?e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"25",height:"25",fill:"currentColor",viewBox:"0 0 16 16",children:e.jsx("path",{d:"M8.051 1.999h.089c.822.003 4.987.033 6.11.335a2.01 2.01 0 0 1 1.415 1.42c.101.38.172.883.22 1.402l.01.104.022.26.008.104c.065.914.073 1.77.074 1.957v.075c-.001.194-.01 1.108-.082 2.06l-.008.105-.009.104c-.05.572-.124 1.14-.235 1.558a2.007 2.007 0 0 1-1.415 1.42c-1.16.312-5.569.334-6.18.335h-.142c-.309 0-1.587-.006-2.927-.052l-.17-.006-.087-.004-.171-.007-.171-.007c-1.11-.049-2.167-.128-2.654-.26a2.007 2.007 0 0 1-1.415-1.419c-.111-.417-.185-.986-.235-1.558L.09 9.82l-.008-.104A31.4 31.4 0 0 1 0 7.68v-.123c.002-.215.01-.958.064-1.778l.007-.103.003-.052.008-.104.022-.26.01-.104c.048-.519.119-1.023.22-1.402a2.007 2.007 0 0 1 1.415-1.42c.487-.13 1.544-.21 2.654-.26l.17-.007.172-.006.086-.003.171-.007A99.788 99.788 0 0 1 7.858 2h.193zM6.4 5.209v4.818l4.157-2.408L6.4 5.209z"})}):n[0]&&n[0].type==="linkedin"?e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"25",height:"25",fill:"currentColor",class:"bi bi-linkedin",viewBox:"0 0 16 16",children:e.jsx("path",{d:"M0 1.146C0 .513.526 0 1.175 0h13.65C15.474 0 16 .513 16 1.146v13.708c0 .633-.526 1.146-1.175 1.146H1.175C.526 16 0 15.487 0 14.854zm4.943 12.248V6.169H2.542v7.225zm-1.2-8.212c.837 0 1.358-.554 1.358-1.248-.015-.709-.52-1.248-1.342-1.248S2.4 3.226 2.4 3.934c0 .694.521 1.248 1.327 1.248zm4.908 8.212V9.359c0-.216.016-.432.08-.586.173-.431.568-.878 1.232-.878.869 0 1.216.662 1.216 1.634v3.865h2.401V9.25c0-2.22-1.184-3.252-2.764-3.252-1.274 0-1.845.7-2.165 1.193v.025h-.016l.016-.025V6.169h-2.4c.03.678 0 7.225 0 7.225z"})}):n[0]&&n[0].type==="pinterest"?e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"25",height:"25",fill:"currentColor",viewBox:"0 0 16 16",children:e.jsx("path",{d:"M8 0a8 8 0 0 0-2.915 15.452c-.07-.633-.134-1.606.027-2.297.146-.625.938-3.977.938-3.977s-.239-.479-.239-1.187c0-1.113.645-1.943 1.448-1.943.682 0 1.012.512 1.012 1.127 0 .686-.437 1.712-.663 2.663-.188.796.4 1.446 1.185 1.446 1.422 0 2.515-1.5 2.515-3.664 0-1.915-1.377-3.254-3.342-3.254-2.276 0-3.612 1.707-3.612 3.471 0 .688.265 1.425.595 1.826a.24.24 0 0 1 .056.23c-.061.252-.196.796-.222.907-.035.146-.116.177-.268.107-1-.465-1.624-1.926-1.624-3.1 0-2.523 1.834-4.84 5.286-4.84 2.775 0 4.932 1.977 4.932 4.62 0 2.757-1.739 4.976-4.151 4.976-.811 0-1.573-.421-1.834-.919l-.498 1.902c-.181.695-.669 1.566-.995 2.097A8 8 0 1 0 8 0z"})}):""})})}),t.logo_thumb_scale?e.jsx("img",{className:"annuaire-logo",src:t.logo_thumb_scale,alt:""}):""]})]}),h&&e.jsx("div",{className:"r-content-files",children:h.map((a,u)=>e.jsx("div",{className:"r-content-file",children:e.jsxs("a",{href:a.targetUrl,className:"r-content-file-link",rel:"nofollow",children:[e.jsx("span",{className:"r-content-file-title",children:a.title}),e.jsx("span",{className:"r-content-file-icon",children:e.jsx("svg",{width:"21",height:"21",viewBox:"0 0 24 24",fill:"none",stroke:"#8899a4","stroke-width":"2","stroke-linecap":"square","stroke-linejoin":"arcs",children:e.jsx("path",{d:"M3 15v4c0 1.1.9 2 2 2h14a2 2 0 0 0 2-2v-4M17 9l-5 5-5-5M12 12.8V2.5"})})})]})},u))}),N&&e.jsx("div",{className:"r-content-gallery",children:e.jsx("div",{className:"spotlight-group flexbin r-content-gallery",children:N.map((a,u)=>e.jsx("a",{"data-title":a.title,"data-description":a.description,className:"spotlight",href:a.image_full_scale,children:e.jsx("img",{src:a.image_preview_scale,alt:""})},u))})})]})]})},ue=({item:s,contextAuthenticatedUser:f})=>{const[x,y]=l.useState(new Image),[L,p]=l.useState(""),_=s.title&&s.title,c=s.taxonomy_contact_category&&s.taxonomy_contact_category[0],t=s.number?s.number:"",m=s.street?s.street:"",h=s.complement?s.complement:"",g=s.zipcode?s.zipcode:"",N=s.city?s.city:"",S=s.phones?s.phones:"",n=s.mails?s.mails:"",A=s.topics?s.topics:"";let w=s.country&&s.country.title,E="https://www.google.com/maps/dir/?api=1&destination="+s.street+"+"+s.number+"+"+s.complement+"+"+s.zipcode+"+"+s.city+"+"+w;return E=E.replaceAll("+null",""),l.useEffect(()=>{const b=async()=>{const i=new Image,o=s.image_affiche_scale||s.logo_thumb_scale||"";i.src=o;try{await i.decode(),y(i);const d=i.width<i.height?"img-contain":"img-cover";p(d)}catch(d){console.error("Error loading image:",d)}};(s.image_affiche_scale||s.logo_thumb_scale)&&b()},[s]),e.jsxs(e.Fragment,{children:[f==="False"?e.jsx(z,{children:({translate:b})=>e.jsx("a",{href:s["@id"],target:"_blank",title:b({text:"Editer la fiche"}),className:"edit-rest-elements",children:e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"currentColor",class:"bi bi-pencil-square",viewBox:"0 0 16 16",children:[e.jsx("path",{d:"M15.502 1.94a.5.5 0 0 1 0 .706L14.459 3.69l-2-2L13.502.646a.5.5 0 0 1 .707 0l1.293 1.293zm-1.75 2.456-2-2L4.939 9.21a.5.5 0 0 0-.121.196l-.805 2.414a.25.25 0 0 0 .316.316l2.414-.805a.5.5 0 0 0 .196-.12l6.813-6.814z"}),e.jsx("path",{"fill-rule":"evenodd",d:"M1 13.5A1.5 1.5 0 0 0 2.5 15h11a1.5 1.5 0 0 0 1.5-1.5v-6a.5.5 0 0 0-1 0v6a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11a.5.5 0 0 1 .5-.5H9a.5.5 0 0 0 0-1H2.5A1.5 1.5 0 0 0 1 2.5z"})]})})}):"",e.jsxs("div",{className:"r-list-item",children:[x&&x.src?e.jsx(e.Fragment,{children:e.jsxs("div",{className:"r-item-img",children:[e.jsx("div",{className:"r-content-figure-blur",style:{backgroundImage:"url("+x.src+")"}}),e.jsx("img",{className:"r-content-figure-img "+L,src:x.src,alt:""})]})}):e.jsx(e.Fragment,{children:e.jsx("div",{className:"r-item-img r-item-img-placeholder"})}),e.jsxs("div",{className:"r-item-text",children:[e.jsx("span",{className:"r-item-title",children:_}),c?e.jsx("span",{className:"r-item-categorie",children:c.title}):"",e.jsxs("div",{className:"r-item-all",children:[m?e.jsxs("a",{href:E,target:"_blank",rel:"noreferrer",className:"r-item-adresse",children:[t?e.jsx("span",{children:t+" "}):"",m?e.jsx("span",{children:m+", "}):"",h?e.jsx("span",{children:h+", "}):"",e.jsx("br",{}),g?e.jsx("span",{children:g+" "}):"",N?e.jsx("span",{children:N}):""]}):"",e.jsxs("div",{className:"r-item-contact",children:[e.jsx("div",{className:"phones",children:S?S.map((b,i)=>e.jsx("span",{children:b.number},i)):""}),e.jsx("div",{className:"mails",children:n?n.map((b,i)=>e.jsx("span",{children:b.mail_address},i)):""}),e.jsx("div",{className:"topics",children:A?A.slice(0,3).map((b,i)=>e.jsx("span",{children:b.title},i)):""})]})]})]})]})]})},me=({contactArray:s,onChange:f,onHover:x,contextAuthenticatedUser:y})=>{const{scrollPos:L,updateScrollPos:p}=l.useContext(K);function _(t){f(t),p(window.scrollY)}function c(t){x(t)}return l.useEffect(()=>{window.scrollTo({top:L,left:0,behavior:"instant"})},[s]),l.useEffect(()=>{[{name:"description"},{property:"og:title"},{property:"og:description"},{property:"og:url"},{property:"og:type"},{property:"og:image"},{property:"og:image:type"},{property:"og:image:alt"},{property:"og:image:width"},{property:"og:image:height"}].forEach(({name:h,property:g})=>{const N=h?`meta[name="${h}"]`:`meta[property="${g}"]`,S=document.head.querySelector(N);S&&document.head.removeChild(S)}),[{name:"description",content:"Annuaire"},{property:"og:title",content:"Annuaire"},{property:"og:description",content:"Annuaire"},{property:"og:url",content:typeof window<"u"?window.location.href:""},{property:"og:type",content:"website"}].forEach(({name:h,property:g,content:N})=>{const S=h?`meta[name="${h}"]`:`meta[property="${g}"]`;let n=document.head.querySelector(S);n||(n=document.createElement("meta"),h&&n.setAttribute("name",h),g&&n.setAttribute("property",g),document.head.appendChild(n)),n.setAttribute("content",N)})},[]),e.jsx(G.Fragment,{children:e.jsx("ul",{className:"r-result-list annuaire-result-list",children:s.map((t,m)=>e.jsxs("li",{className:"r-list-item-group",onMouseEnter:()=>c(t.UID),onMouseLeave:()=>c(null),onClick:()=>_(t.UID),children:[e.jsx(se,{className:"r-list-item-link",style:{textDecoration:"none"},to:{pathname:"/"+ne(t.title).replace(/[^a-zA-Z ]/g,"").replace(/\s/g,"-").toLowerCase(),search:`?u=${t.UID}`,state:{idItem:t.UID}}}),e.jsx(ue,{item:t,contextAuthenticatedUser:y},t.created)]},m))})})};function ye(s){const[f,x]=l.useState(0),y=L=>{x(L)};return e.jsx(le,{basename:s.viewPath,children:e.jsx(ae,{language:s.currentLanguage,translation:re,children:e.jsx(K.Provider,{value:{scrollPos:f,updateScrollPos:y},children:e.jsx(xe,{queryFilterUrl:s.queryFilterUrl,queryUrl:s.queryUrl,proposeUrl:s.proposeUrl,batchSize:s.batchSize,displayMap:s.displayMap,contextAuthenticatedUser:s.contextAuthenticatedUser})})})})}function xe(s){const{u:f,...x}=Object.assign({b_start:0,fullobjects:1},O.parse(Y().toString())),{scrollPos:y,updateScrollPos:L}=l.useContext(K),[p,_]=l.useState(null),[c,t]=l.useState([]),[m,h]=l.useState(null),[g,N]=l.useState(null),[S,n]=l.useState(x),[A,w]=l.useState(0),[E,b]=l.useState(!1),i=s.displayMap==="True",{response:o,isLoading:d,isMore:M}=Q({method:"get",url:"",baseURL:s.queryUrl,headers:{Accept:"application/json"},params:S,load:E});l.useEffect(()=>{o!==null&&(_(M?j=>[...j,...o.items]:o.items),t(o.items_total))},[o]);const q=j=>{h(j)},V=j=>{N(j)},T=j=>{b(!1),w(()=>0),n(j),window.scrollTo(0,0)},a=()=>{L(window.scrollY),w(j=>j+parseInt(s.batchSize)),b(!0)};l.useEffect(()=>{n(j=>({...j,b_start:A}))},[A]);const u=l.useRef(),[F,I]=G.useState({height:0}),[r,v]=l.useState(0);l.useEffect(()=>{I({height:u.current.clientHeight}),v(u.current.offsetTop)},[u]);let k,C,P;if(p&&p.length>0){k=e.jsx(me,{onChange:q,contactArray:p,onHover:V,contextAuthenticatedUser:s.contextAuthenticatedUser}),C=e.jsx(ee,{headerHeight:F.height+r,clickId:m,hoverId:g,items:p,queryUrl:s.queryUrl});const j=p.filter(B=>B.UID===f);P=e.jsx(ee,{headerHeight:F.height+r,items:j,queryUrl:s.queryUrl})}else d||(k=e.jsx("p",{role:"status","aria-live":"polite",children:e.jsx(H,{text:"Aucun contact n'a été trouvé"})}));const R=e.jsxs("div",{className:"lds-roller-container",children:[e.jsx(H,{text:"Chargement..."}),e.jsxs("div",{className:"lds-roller",children:[e.jsx("div",{}),e.jsx("div",{}),e.jsx("div",{}),e.jsx("div",{}),e.jsx("div",{}),e.jsx("div",{}),e.jsx("div",{}),e.jsx("div",{})]})]});return e.jsxs("div",{className:`ref ${i?"view-map":"no-map"}`,children:[e.jsx("div",{className:"r-result-filter-container",ref:u,style:{top:r},children:e.jsxs("div",{id:"r-result-filter",className:"r-result-filter container annuaire-result-filter",children:[e.jsx(de,{url:s.queryFilterUrl,activeFilter:S,onChange:T}),e.jsxs("div",{className:"r-result-numbers-and-add-container",children:[c>0?e.jsx(z,{children:({translate:j})=>e.jsxs("p",{role:"status","aria-live":"polite",className:"r-results-numbers","aria-label":`${c}${j({text:c>1?"contacts trouvés":"contact trouvé"})}`,children:[e.jsx("span",{"aria-hidden":"true",children:c}),e.jsx(H,{text:c>1?"contacts trouvés":"contact trouvé"})]})}):e.jsx("p",{role:"status","aria-live":"polite",className:"r-results-numbers",children:e.jsx(H,{text:"Aucun résultat"})}),s.proposeUrl&&e.jsx("div",{className:"r-add-contact",children:e.jsxs("a",{target:"_blank",rel:"noreferrer",href:s.proposeUrl,children:[e.jsx(H,{text:"Proposer un contact"}),e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"currentColor",className:"bi bi-plus-circle",viewBox:"0 0 16 16",children:[e.jsx("path",{d:"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16"}),e.jsx("path",{d:"M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4"})]})]})})]})]})}),e.jsxs(ie,{children:[e.jsx(X,{exact:!0,path:"/",element:e.jsxs("div",{className:"r-wrapper container r-annuaire-wrapper",children:[e.jsxs("div",{className:"r-result r-annuaire-result",children:[e.jsx("div",{children:p!==null?k:R}),e.jsx("div",{className:"r-load-more",children:c-s.batchSize>A?e.jsxs("div",{children:[e.jsx("span",{className:"no-more-result",children:d?R:""}),e.jsx("button",{onClick:a,className:"btn-grad",children:d?e.jsx(H,{text:"Chargement..."}):e.jsx(H,{text:"Plus de résultats"})})]}):e.jsx("span",{className:"no-more-result",children:d?R:""})})]}),i&&e.jsx("div",{className:"r-map annuaire-map",style:{top:F.height+r,height:"calc(100vh-"+F.height+r},children:C})]})}),e.jsx(X,{path:"/:name",element:e.jsxs("div",{className:"r-wrapper container r-annuaire-wrapper",children:[e.jsx("div",{className:"r-result r-annuaire-result",children:e.jsx(he,{queryUrl:s.queryUrl,onChange:q,contextAuthenticatedUser:s.contextAuthenticatedUser})}),i&&e.jsx("div",{className:"r-map annuaire-map",style:{top:F.height+r,height:"calc(100vh-"+F.height+r},children:P})]})})]})]})}export{ye as default};

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Fix the misspelled Bootstrap icon prop.

The generated Annuaire detail view emits clasName, so the back-arrow icon receives no Bootstrap classes. Correct src/imio/smartweb/core/webcomponents/src/components/Annuaire/ContactContent/ContactContent.jsx to use className, then regenerate the artifact.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/imio/smartweb/core/webcomponents/build/js/chunks/Annuaire-C0BYBnaa.js` at
line 1, Correct the misspelled icon prop in the Annuaire detail view’s back
button, changing clasName to className on the back-arrow element in
ContactContent. Then regenerate the compiled Annuaire artifact so it reflects
the source fix.

className="r-back-button"
>
<i class="bi bi-arrow-left-short"></i>
<i clasName="bi bi-arrow-left-short"></i>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

rg -n 'clasName=' src/imio/smartweb/core/webcomponents/src

Repository: IMIO/imio.smartweb.core

Length of output: 326


Fix the JSX prop typo. clasName won’t apply the Bootstrap icon class here; use className instead.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@src/imio/smartweb/core/webcomponents/src/components/Annuaire/ContactContent/ContactContent.jsx`
at line 192, In the ContactContent component, correct the JSX attribute on the
arrow icon element from clasName to className so the Bootstrap icon classes are
applied.

Source: Coding guidelines

@thomlamb
thomlamb merged commit 7a7f562 into main Jul 27, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant