Plugin Directory

Changeset 3419631


Ignore:
Timestamp:
12/15/2025 01:51:57 AM (3 months ago)
Author:
soliddigital
Message:

Update to version 1.3.2 from GitHub

Location:
path-pilot
Files:
14 edited
1 copied

Legend:

Unmodified
Added
Removed
  • path-pilot/tags/1.3.2/assets/css/admin.css

    r3401579 r3419631  
    13211321
    13221322.wp-list-table tbody tr:hover {
    1323     background-color: #f5f5f5; /* A subtle light gray */
     1323    background-color: #fafafa; /* A subtle light gray */
    13241324    cursor: pointer; /* Ensure cursor changes on hover */
    13251325}
     
    13571357  100% { transform: rotate(360deg); }
    13581358}
     1359
     1360.pp-content .dashicons.dashicons-arrow-right-alt2::before {
     1361    display: inline-block;
     1362    vertical-align: middle;
     1363}
     1364
     1365.pp-content .dashicons.dashicons-ellipsis {
     1366    height: 13px;
     1367}
     1368
  • path-pilot/tags/1.3.2/build/path-analysis.asset.php

    r3401579 r3419631  
    1 <?php return array('dependencies' => array('react-jsx-runtime'), 'version' => '39f9b77ba48f41cdc320');
     1<?php return array('dependencies' => array('react-jsx-runtime'), 'version' => 'd1ef13cf94ff78cd03b2');
  • path-pilot/tags/1.3.2/build/path-analysis.js

    r3401579 r3419631  
    276276        className: "dashicons dashicons-arrow-right-alt2",
    277277        style: {
    278           fontSize: '22px',
    279           margin: '0 2px',
     278          fontSize: '12px',
     279          margin: '2px 2px',
    280280          color: '#9ca3af',
    281281          opacity: 0.5
     
    286286      return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
    287287        style: {
    288           display: 'inline-flex',
    289           alignItems: 'center',
    290           justifyContent: 'center',
    291           backgroundColor: '#f0f0f0',
     288          backgroundColor: '#dfdfdf',
    292289          borderRadius: '4px',
    293           padding: '2px 6px 0',
     290          padding: '0',
    294291          margin: '0 2px'
    295292        },
     
    298295          style: {
    299296            color: '#9ca3af',
    300             fontSize: '16px'
     297            fontSize: '10px',
     298            verticalAlign: 'text-bottom'
    301299          }
    302300        })
  • path-pilot/tags/1.3.2/build/path-analysis.js.map

    r3401579 r3419631  
    1 {"version":3,"file":"path-analysis.js","mappings":"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","sources":["webpack://path-pilot/external window \"ReactJSXRuntime\"","webpack://path-pilot/webpack/bootstrap","webpack://path-pilot/webpack/runtime/compat get default export","webpack://path-pilot/webpack/runtime/define property getters","webpack://path-pilot/webpack/runtime/hasOwnProperty shorthand","webpack://path-pilot/webpack/runtime/make namespace object","webpack://path-pilot/./src/path-analysis.js"],"sourcesContent":["module.exports = window[\"ReactJSXRuntime\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const { render, useState, Fragment } = wp.element;\nconst { Button } = wp.components;\n\nconst Tooltip = ({ content, position }) => {\n    if (!content) {\n        return null;\n    }\n\n    const style = {\n        position: 'absolute',\n        top: position.y,\n        left: position.x,\n        backgroundColor: '#23282d',\n        color: '#fff',\n        padding: '10px',\n        borderRadius: '4px',\n        zIndex: 100,\n        maxWidth: '350px',\n        lineHeight: '1.5',\n        fontSize: '13px',\n        boxShadow: '0 2px 5px rgba(0,0,0,0.2)',\n    };\n\n    return (\n        <div style={style}>\n            <div style={{ marginBottom: '5px' }}><strong>Name:</strong> {content.title}</div>\n            <div style={{ marginBottom: '5px' }}><strong>URL:</strong> {content.permalink}</div>\n            <div style={{ marginBottom: '5px' }}><strong>Post Type:</strong> {content.post_type}</div>\n            {content.taxonomies && content.taxonomies.length > 0 && (\n                <div>\n                    <strong>Taxonomy:</strong>\n                    <ul style={{ margin: '5px 0 0 20px', padding: 0, listStyleType: 'disc' }}>\n                        {content.taxonomies.map((tax, i) => (\n                            <li key={i}>{tax}</li>\n                        ))}\n                    </ul>\n                </div>\n            )}\n        </div>\n    );\n};\n\n\nconst PathAnalysis = () => {\n    const { paths: pathData = [], total_paths: totalPaths = 0, paged: paged = 1, items_per_page: initialItemsPerPage = 50, site_url, sort_by: sortBy = 'count', sort_order: sortOrder = 'desc', plugin_url, site_icon_url } = window.pathPilotPathData;\n    let [itemsPerPage, setItemsPerPage] = useState(initialItemsPerPage);\n    const [expandedRow, setExpandedRow] = useState(null);\n    const [tooltip, setTooltip] = useState({ visible: false, content: null, position: { x: 0, y: 0 } });\n    const currentPage = parseInt(paged, 10);\n\n    itemsPerPage = +itemsPerPage;\n\n    const handleRowClick = (index) => {\n        setExpandedRow(expandedRow === index ? null : index);\n    };\n\n    const handleSort = (column) => {\n        const newSortOrder = sortBy === column ? (sortOrder.toLowerCase() === 'asc' ? 'desc' : 'asc') : 'desc';\n        const url = new URL(window.location.href);\n        url.searchParams.set('page', 'path-pilot-path-analysis');\n        url.searchParams.set('sort_by', column);\n        url.searchParams.set('sort_order', newSortOrder);\n        url.searchParams.set('paged', '1'); // Reset to first page\n        window.location.href = url.href;\n    };\n\n    const SortableHeader = ({ children, column }) => {\n        const isSorted = sortBy === column;\n        const icon = (sortOrder.toLowerCase() === 'asc' && isSorted) ? 'dashicons-arrow-up' : 'dashicons-arrow-down';\n\n        return (\n            <th scope=\"col\" className=\"manage-column\" onClick={() => handleSort(column)} style={{ cursor: 'pointer', fontWeight: isSorted ? 'bold' : 'normal' }}>\n                {children}\n                <span className={`dashicons ${icon}`} style={{ marginLeft: '5px', color: isSorted ? 'black' : '#9ca3af' }}></span>\n            </th>\n        );\n    };\n\n    const handleMouseEnter = (e, step) => {\n        const rect = e.target.getBoundingClientRect();\n        const containerRect = e.target.closest('.path-pilot-path-analysis').getBoundingClientRect();\n        setTooltip({\n            visible: true,\n            content: step,\n            position: {\n                x: rect.left - containerRect.left,\n                y: rect.bottom - containerRect.top + 5\n            },\n        });\n    };\n\n    const handleMouseLeave = () => {\n        setTooltip({ visible: false, content: null, position: { x: 0, y: 0 } });\n    };\n\n    const renderPathIcons = (path) => {\n        const maxPermalinkLength = 50;\n        const nodes = [];\n\n        const renderStep = (step, isLast, key) => {\n            const iconUrl = step.is_home ? `${plugin_url}assets/images/icons/house.svg` : `${plugin_url}assets/images/icons/web-page.svg`;\n            if (isLast) {\n                return (\n                    <a key={key} style={{textDecoration: 'none'}}\n                       onMouseEnter={(e) => handleMouseEnter(e, step)}\n                       onMouseLeave={handleMouseLeave}\n                    >\n                        {step.permalink.length > maxPermalinkLength ? step.permalink.substring(0, maxPermalinkLength) + '...' : step.permalink}\n                    </a>\n                );\n            }\n            return (\n                <a key={key} style={{textDecoration: 'none'}}\n                   onMouseEnter={(e) => handleMouseEnter(e, step)}\n                   onMouseLeave={handleMouseLeave}\n                >\n                    <img src={iconUrl} style={{margin: '0 2px', width: '14px', height: '14px', verticalAlign: 'text-bottom'}} />\n                </a>\n            );\n        };\n\n        const renderArrow = (key) => {\n            return <span key={key} className=\"dashicons dashicons-arrow-right-alt2\" style={{fontSize: '22px', margin: '0 2px', color: '#9ca3af', opacity: 0.5}}></span>;\n        };\n\n        const renderEllipsis = (key) => {\n            return (\n                <span key={key} style={{\n                    display: 'inline-flex',\n                    alignItems: 'center',\n                    justifyContent: 'center',\n                    backgroundColor: '#f0f0f0',\n                    borderRadius: '4px',\n                    padding: '2px 6px 0',\n                    margin: '0 2px'\n                }}>\n                    <span className=\"dashicons dashicons-ellipsis\" style={{ color: '#9ca3af', fontSize: '16px' }}></span>\n                </span>\n            );\n        }\n\n        if (path.length >= 8) {\n            // First item\n            nodes.push(renderStep(path[0], false, 'step-0'));\n            nodes.push(renderArrow('arrow-0'));\n\n            // Ellipsis\n            nodes.push(renderEllipsis('ellipsis'));\n            nodes.push(renderArrow('arrow-ellipsis'));\n\n            // Last 5 items\n            for (let i = path.length - 5; i < path.length; i++) {\n                const isLast = i === path.length - 1;\n                nodes.push(renderStep(path[i], isLast, `step-${i}`));\n                if (!isLast) {\n                    nodes.push(renderArrow(`arrow-${i}`));\n                }\n            }\n        } else {\n            path.forEach((step, index) => {\n                const isLast = index === path.length - 1;\n                nodes.push(renderStep(step, isLast, `step-${index}`));\n                if (!isLast) {\n                    nodes.push(renderArrow(`arrow-${index}`));\n                }\n            });\n        }\n\n        return nodes;\n    };\n\n    const handleViewChange = (e) => {\n        const newItemsPerPage = parseInt(e.target.value, 10);\n        setItemsPerPage(newItemsPerPage);\n        const url = new URL(window.location.href);\n        url.searchParams.set('page', 'path-pilot-path-analysis');\n        url.searchParams.set('paged', '1');\n        url.searchParams.set('items', newItemsPerPage);\n        window.location.href = url.href;\n    };\n\n    const getPageLink = (pageNumber) => {\n        const url = new URL(window.location.href);\n        url.searchParams.set('page', 'path-pilot-path-analysis');\n        url.searchParams.set('paged', pageNumber);\n        url.searchParams.set('items', itemsPerPage);\n        return url.href;\n    };\n\n    const totalPages = Math.ceil(totalPaths / itemsPerPage);\n    const startItem = (currentPage - 1) * itemsPerPage + 1;\n    const endItem = Math.min(startItem + itemsPerPage - 1, totalPaths);\n    return (\n        <div className=\"path-pilot-path-analysis\" style={{ position: 'relative' }}>\n            {tooltip.visible && <Tooltip content={tooltip.content} position={tooltip.position} />}\n            <div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'flex-start', marginBottom: '20px' }}>\n                <div>\n                    <h1 className=\"wp-heading-inline\" style={{marginBottom: '1.6rem'}}>Goal Path Analysis</h1>\n                    <p style={{ margin: 0, color: '#50575e', marginBottom: '0.8rem', display: 'flex', alignItems: 'center' }}>\n                        <div style={{\n                            width: '34px',\n                            height: '34px',\n                            borderRadius: '50%',\n                            backgroundColor: '#FFF',\n                            border: '1px solid #D4D8DD',\n                            display: 'flex',\n                            alignItems: 'center',\n                            justifyContent: 'center',\n                            marginRight: '8px'\n                        }}>\n                            <img src={site_icon_url} style={{width: '18px', height: '18px'}} />\n                        </div>\n                        {site_url.replace(/https?:\\/\\//, '')}&nbsp;&nbsp;&nbsp;Showing paths for the last&nbsp;<strong>30 days</strong>\n                    </p>\n                </div>\n                <Button isPrimary style={{background: 'none', fontSize: \"0.9rem\", border: 'none', borderRadius: '8px', padding: '12px 12px 12px 12px'}}>\n                    <img src={plugin_url + 'assets/images/icons/path-pilot-disc-icon.svg'} alt=\"Goal Paths Icon\" style={{marginRight: '5px', width: '16px', height: '16px', verticalAlign: 'text-bottom'}} />\n                    &nbsp;{totalPaths} Goal Paths\n                </Button>\n            </div>\n\n            <div className=\"pp-content\" style={{padding: '0'}}>\n                <table className=\"wp-list-table widefat\">\n                    <thead>\n                    <tr>\n                        <th scope=\"col\" className=\"manage-column\">Path</th>\n                        <SortableHeader column=\"steps\">Path Steps</SortableHeader>\n                        <SortableHeader column=\"count\">Count</SortableHeader>\n                        <SortableHeader column=\"last_taken\">Path Last Taken</SortableHeader>\n                    </tr>\n                    </thead>\n                    <tbody>\n                    {pathData.map((row, index) => (\n                        <Fragment key={index}>\n                            <tr onClick={() => handleRowClick(index)} style={{cursor: 'pointer'}}>\n                                <td>\n                                    {renderPathIcons(row.path)}\n                                </td>\n                                <td style={{ fontWeight: sortBy === 'steps' ? 'bold' : 'normal' }}>{row.steps}</td>\n                                <td style={{ fontWeight: sortBy === 'count' ? 'bold' : 'normal' }}>{row.count}</td>\n                                <td style={{ fontWeight: sortBy === 'last_taken' ? 'bold' : 'normal' }}><img src={`${plugin_url}assets/images/icons/calendar.svg`} style={{marginRight: '5px', width: '12px', height: '13px', verticalAlign: 'text-bottom'}} />&nbsp;{row.last_taken}</td>\n                            </tr>\n                            {expandedRow === index && (\n                                <tr className=\"path-pilot-expanded-row\">\n                                    <td colSpan=\"4\">\n                                        <ol style={{margin: '10px 0 10px 20px'}}>\n                                            {row.path.map((step, stepIndex) => (\n                                                <li key={stepIndex} style={{marginBottom: '5px'}}>\n                                                    &nbsp;&nbsp;&nbsp;<a\n                                                        href={step.permalink}\n                                                        target=\"_blank\"\n                                                        onMouseEnter={(e) => handleMouseEnter(e, step)}\n                                                        onMouseLeave={handleMouseLeave}\n                                                        onClick={(e) => e.stopPropagation()}\n                                                    >\n                                                        {step.permalink.replace(site_url, '')}\n                                                    </a>\n                                                </li>\n                                            ))}\n                                        </ol>\n                                    </td>\n                                </tr>\n                            )}\n                        </Fragment>\n                    ))}\n                    </tbody>\n                </table>\n                <div style={{ display: 'flex', justifyContent: 'flex-end', alignItems: 'center', marginTop: '10px', color: '#50575e' }}>\n                    <span>{startItem}-{endItem} of {totalPaths}</span>\n                    {currentPage > 1 ? (\n                        <a href={getPageLink(currentPage - 1)} className=\"button is-small\" style={{marginLeft: '15px'}}>&lt;</a>\n                    ) : (\n                        <span className=\"button is-small is-disabled\" style={{marginLeft: '15px'}}>&lt;</span>\n                    )}\n                    {currentPage < totalPages ? (\n                        <a href={getPageLink(currentPage + 1)} className=\"button is-small\" style={{marginLeft: '5px'}}>&gt;</a>\n                    ) : (\n                        <span className=\"button is-small is-disabled\" style={{marginLeft: '5px'}}>&gt;</span>\n                    )}\n                    <span style={{marginLeft: '20px'}}>View</span>\n                    <select value={itemsPerPage} onChange={handleViewChange} style={{marginLeft: '5px'}}>\n                        <option value=\"20\">20</option>\n                        <option value=\"50\">50</option>\n                        <option value=\"100\">100</option>\n                        <option value=\"250\">250</option>\n                    </select>\n                </div>\n            </div>\n\n            <div className=\"pp-clarification\">\n                <h3>Need clarification?</h3>\n                <p><strong>Path</strong> = The pages visited in the order visited by the user before conversion.</p>\n                <p><strong>Path Steps</strong> = The number of pages visited before the conversion.</p>\n                <p><strong>Count</strong> = The number of users that have taken this path over the last 30 days for the free version and across all time for the <a target='_blank' href='https://pathpilot.app/pro/'>premium version</a>.</p>\n                <p><strong>Path Last Taken</strong> = The last time the path was taken by a user either within 30 days for the free version or across all time for the premium version.</p>\n            </div>\n        </div>\n    );\n};\n\ndocument.addEventListener('DOMContentLoaded', () => {\n    const rootEl = document.getElementById('path-pilot-path-analysis-root');\n    if (rootEl) {\n        render(<PathAnalysis />, rootEl);\n    }\n});\n"],"names":["render","useState","Fragment","wp","element","Button","components","Tooltip","content","position","style","top","y","left","x","backgroundColor","color","padding","borderRadius","zIndex","maxWidth","lineHeight","fontSize","boxShadow","_jsxs","children","marginBottom","_jsx","title","permalink","post_type","taxonomies","length","margin","listStyleType","map","tax","i","PathAnalysis","paths","pathData","total_paths","totalPaths","paged","items_per_page","initialItemsPerPage","site_url","sort_by","sortBy","sort_order","sortOrder","plugin_url","site_icon_url","window","pathPilotPathData","itemsPerPage","setItemsPerPage","expandedRow","setExpandedRow","tooltip","setTooltip","visible","currentPage","parseInt","handleRowClick","index","handleSort","column","newSortOrder","toLowerCase","url","URL","location","href","searchParams","set","SortableHeader","isSorted","icon","scope","className","onClick","cursor","fontWeight","marginLeft","handleMouseEnter","e","step","rect","target","getBoundingClientRect","containerRect","closest","bottom","handleMouseLeave","renderPathIcons","path","maxPermalinkLength","nodes","renderStep","isLast","key","iconUrl","is_home","textDecoration","onMouseEnter","onMouseLeave","substring","src","width","height","verticalAlign","renderArrow","opacity","renderEllipsis","display","alignItems","justifyContent","push","forEach","handleViewChange","newItemsPerPage","value","getPageLink","pageNumber","totalPages","Math","ceil","startItem","endItem","min","border","marginRight","replace","isPrimary","background","alt","row","steps","count","last_taken","colSpan","stepIndex","stopPropagation","marginTop","onChange","document","addEventListener","rootEl","getElementById"],"sourceRoot":""}
     1{"version":3,"file":"path-analysis.js","mappings":"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","sources":["webpack://path-pilot/external window \"ReactJSXRuntime\"","webpack://path-pilot/webpack/bootstrap","webpack://path-pilot/webpack/runtime/compat get default export","webpack://path-pilot/webpack/runtime/define property getters","webpack://path-pilot/webpack/runtime/hasOwnProperty shorthand","webpack://path-pilot/webpack/runtime/make namespace object","webpack://path-pilot/./src/path-analysis.js"],"sourcesContent":["module.exports = window[\"ReactJSXRuntime\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const { render, useState, Fragment } = wp.element;\nconst { Button } = wp.components;\n\nconst Tooltip = ({ content, position }) => {\n    if (!content) {\n        return null;\n    }\n\n    const style = {\n        position: 'absolute',\n        top: position.y,\n        left: position.x,\n        backgroundColor: '#23282d',\n        color: '#fff',\n        padding: '10px',\n        borderRadius: '4px',\n        zIndex: 100,\n        maxWidth: '350px',\n        lineHeight: '1.5',\n        fontSize: '13px',\n        boxShadow: '0 2px 5px rgba(0,0,0,0.2)',\n    };\n\n    return (\n        <div style={style}>\n            <div style={{ marginBottom: '5px' }}><strong>Name:</strong> {content.title}</div>\n            <div style={{ marginBottom: '5px' }}><strong>URL:</strong> {content.permalink}</div>\n            <div style={{ marginBottom: '5px' }}><strong>Post Type:</strong> {content.post_type}</div>\n            {content.taxonomies && content.taxonomies.length > 0 && (\n                <div>\n                    <strong>Taxonomy:</strong>\n                    <ul style={{ margin: '5px 0 0 20px', padding: 0, listStyleType: 'disc' }}>\n                        {content.taxonomies.map((tax, i) => (\n                            <li key={i}>{tax}</li>\n                        ))}\n                    </ul>\n                </div>\n            )}\n        </div>\n    );\n};\n\n\nconst PathAnalysis = () => {\n    const { paths: pathData = [], total_paths: totalPaths = 0, paged: paged = 1, items_per_page: initialItemsPerPage = 50, site_url, sort_by: sortBy = 'count', sort_order: sortOrder = 'desc', plugin_url, site_icon_url } = window.pathPilotPathData;\n    let [itemsPerPage, setItemsPerPage] = useState(initialItemsPerPage);\n    const [expandedRow, setExpandedRow] = useState(null);\n    const [tooltip, setTooltip] = useState({ visible: false, content: null, position: { x: 0, y: 0 } });\n    const currentPage = parseInt(paged, 10);\n\n    itemsPerPage = +itemsPerPage;\n\n    const handleRowClick = (index) => {\n        setExpandedRow(expandedRow === index ? null : index);\n    };\n\n    const handleSort = (column) => {\n        const newSortOrder = sortBy === column ? (sortOrder.toLowerCase() === 'asc' ? 'desc' : 'asc') : 'desc';\n        const url = new URL(window.location.href);\n        url.searchParams.set('page', 'path-pilot-path-analysis');\n        url.searchParams.set('sort_by', column);\n        url.searchParams.set('sort_order', newSortOrder);\n        url.searchParams.set('paged', '1'); // Reset to first page\n        window.location.href = url.href;\n    };\n\n    const SortableHeader = ({ children, column }) => {\n        const isSorted = sortBy === column;\n        const icon = (sortOrder.toLowerCase() === 'asc' && isSorted) ? 'dashicons-arrow-up' : 'dashicons-arrow-down';\n\n        return (\n            <th scope=\"col\" className=\"manage-column\" onClick={() => handleSort(column)} style={{ cursor: 'pointer', fontWeight: isSorted ? 'bold' : 'normal' }}>\n                {children}\n                <span className={`dashicons ${icon}`} style={{ marginLeft: '5px', color: isSorted ? 'black' : '#9ca3af' }}></span>\n            </th>\n        );\n    };\n\n    const handleMouseEnter = (e, step) => {\n        const rect = e.target.getBoundingClientRect();\n        const containerRect = e.target.closest('.path-pilot-path-analysis').getBoundingClientRect();\n        setTooltip({\n            visible: true,\n            content: step,\n            position: {\n                x: rect.left - containerRect.left,\n                y: rect.bottom - containerRect.top + 5\n            },\n        });\n    };\n\n    const handleMouseLeave = () => {\n        setTooltip({ visible: false, content: null, position: { x: 0, y: 0 } });\n    };\n\n    const renderPathIcons = (path) => {\n        const maxPermalinkLength = 50;\n        const nodes = [];\n\n        const renderStep = (step, isLast, key) => {\n            const iconUrl = step.is_home ? `${plugin_url}assets/images/icons/house.svg` : `${plugin_url}assets/images/icons/web-page.svg`;\n            if (isLast) {\n                return (\n                    <a key={key} style={{textDecoration: 'none'}}\n                       onMouseEnter={(e) => handleMouseEnter(e, step)}\n                       onMouseLeave={handleMouseLeave}\n                    >\n                        {step.permalink.length > maxPermalinkLength ? step.permalink.substring(0, maxPermalinkLength) + '...' : step.permalink}\n                    </a>\n                );\n            }\n            return (\n                <a key={key} style={{textDecoration: 'none'}}\n                   onMouseEnter={(e) => handleMouseEnter(e, step)}\n                   onMouseLeave={handleMouseLeave}\n                >\n                    <img src={iconUrl} style={{margin: '0 2px', width: '14px', height: '14px', verticalAlign: 'text-bottom'}} />\n                </a>\n            );\n        };\n\n        const renderArrow = (key) => {\n            return <span key={key} className=\"dashicons dashicons-arrow-right-alt2\" style={{fontSize: '12px', margin: '2px 2px', color: '#9ca3af', opacity: 0.5}}></span>;\n        };\n\n        const renderEllipsis = (key) => {\n            return (\n                    <span key={key} style={{\n                        backgroundColor: '#dfdfdf',\n                        borderRadius: '4px',\n                        padding: '0',\n                        margin: '0 2px'\n                    }}>\n                        <span className=\"dashicons dashicons-ellipsis\" style={{ color: '#9ca3af', fontSize: '10px', verticalAlign: 'text-bottom' }}></span>\n                </span>\n            );\n        }\n\n        if (path.length >= 8) {\n            // First item\n            nodes.push(renderStep(path[0], false, 'step-0'));\n            nodes.push(renderArrow('arrow-0'));\n\n            // Ellipsis\n            nodes.push(renderEllipsis('ellipsis'));\n            nodes.push(renderArrow('arrow-ellipsis'));\n\n            // Last 5 items\n            for (let i = path.length - 5; i < path.length; i++) {\n                const isLast = i === path.length - 1;\n                nodes.push(renderStep(path[i], isLast, `step-${i}`));\n                if (!isLast) {\n                    nodes.push(renderArrow(`arrow-${i}`));\n                }\n            }\n        } else {\n            path.forEach((step, index) => {\n                const isLast = index === path.length - 1;\n                nodes.push(renderStep(step, isLast, `step-${index}`));\n                if (!isLast) {\n                    nodes.push(renderArrow(`arrow-${index}`));\n                }\n            });\n        }\n\n        return nodes;\n    };\n\n    const handleViewChange = (e) => {\n        const newItemsPerPage = parseInt(e.target.value, 10);\n        setItemsPerPage(newItemsPerPage);\n        const url = new URL(window.location.href);\n        url.searchParams.set('page', 'path-pilot-path-analysis');\n        url.searchParams.set('paged', '1');\n        url.searchParams.set('items', newItemsPerPage);\n        window.location.href = url.href;\n    };\n\n    const getPageLink = (pageNumber) => {\n        const url = new URL(window.location.href);\n        url.searchParams.set('page', 'path-pilot-path-analysis');\n        url.searchParams.set('paged', pageNumber);\n        url.searchParams.set('items', itemsPerPage);\n        return url.href;\n    };\n\n    const totalPages = Math.ceil(totalPaths / itemsPerPage);\n    const startItem = (currentPage - 1) * itemsPerPage + 1;\n    const endItem = Math.min(startItem + itemsPerPage - 1, totalPaths);\n    return (\n        <div className=\"path-pilot-path-analysis\" style={{ position: 'relative' }}>\n            {tooltip.visible && <Tooltip content={tooltip.content} position={tooltip.position} />}\n            <div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'flex-start', marginBottom: '20px' }}>\n                <div>\n                    <h1 className=\"wp-heading-inline\" style={{marginBottom: '1.6rem'}}>Goal Path Analysis</h1>\n                    <p style={{ margin: 0, color: '#50575e', marginBottom: '0.8rem', display: 'flex', alignItems: 'center' }}>\n                        <div style={{\n                            width: '34px',\n                            height: '34px',\n                            borderRadius: '50%',\n                            backgroundColor: '#FFF',\n                            border: '1px solid #D4D8DD',\n                            display: 'flex',\n                            alignItems: 'center',\n                            justifyContent: 'center',\n                            marginRight: '8px'\n                        }}>\n                            <img src={site_icon_url} style={{width: '18px', height: '18px'}} />\n                        </div>\n                        {site_url.replace(/https?:\\/\\//, '')}&nbsp;&nbsp;&nbsp;Showing paths for the last&nbsp;<strong>30 days</strong>\n                    </p>\n                </div>\n                <Button isPrimary style={{background: 'none', fontSize: \"0.9rem\", border: 'none', borderRadius: '8px', padding: '12px 12px 12px 12px'}}>\n                    <img src={plugin_url + 'assets/images/icons/path-pilot-disc-icon.svg'} alt=\"Goal Paths Icon\" style={{marginRight: '5px', width: '16px', height: '16px', verticalAlign: 'text-bottom'}} />\n                    &nbsp;{totalPaths} Goal Paths\n                </Button>\n            </div>\n\n            <div className=\"pp-content\" style={{padding: '0'}}>\n                <table className=\"wp-list-table widefat\">\n                    <thead>\n                    <tr>\n                        <th scope=\"col\" className=\"manage-column\">Path</th>\n                        <SortableHeader column=\"steps\">Path Steps</SortableHeader>\n                        <SortableHeader column=\"count\">Count</SortableHeader>\n                        <SortableHeader column=\"last_taken\">Path Last Taken</SortableHeader>\n                    </tr>\n                    </thead>\n                    <tbody>\n                    {pathData.map((row, index) => (\n                        <Fragment key={index}>\n                            <tr onClick={() => handleRowClick(index)} style={{cursor: 'pointer'}}>\n                                <td>\n                                    {renderPathIcons(row.path)}\n                                </td>\n                                <td style={{ fontWeight: sortBy === 'steps' ? 'bold' : 'normal' }}>{row.steps}</td>\n                                <td style={{ fontWeight: sortBy === 'count' ? 'bold' : 'normal' }}>{row.count}</td>\n                                <td style={{ fontWeight: sortBy === 'last_taken' ? 'bold' : 'normal' }}><img src={`${plugin_url}assets/images/icons/calendar.svg`} style={{marginRight: '5px', width: '12px', height: '13px', verticalAlign: 'text-bottom'}} />&nbsp;{row.last_taken}</td>\n                            </tr>\n                            {expandedRow === index && (\n                                <tr className=\"path-pilot-expanded-row\">\n                                    <td colSpan=\"4\">\n                                        <ol style={{margin: '10px 0 10px 20px'}}>\n                                            {row.path.map((step, stepIndex) => (\n                                                <li key={stepIndex} style={{marginBottom: '5px'}}>\n                                                    &nbsp;&nbsp;&nbsp;<a\n                                                        href={step.permalink}\n                                                        target=\"_blank\"\n                                                        onMouseEnter={(e) => handleMouseEnter(e, step)}\n                                                        onMouseLeave={handleMouseLeave}\n                                                        onClick={(e) => e.stopPropagation()}\n                                                    >\n                                                        {step.permalink.replace(site_url, '')}\n                                                    </a>\n                                                </li>\n                                            ))}\n                                        </ol>\n                                    </td>\n                                </tr>\n                            )}\n                        </Fragment>\n                    ))}\n                    </tbody>\n                </table>\n                <div style={{ display: 'flex', justifyContent: 'flex-end', alignItems: 'center', marginTop: '10px', color: '#50575e' }}>\n                    <span>{startItem}-{endItem} of {totalPaths}</span>\n                    {currentPage > 1 ? (\n                        <a href={getPageLink(currentPage - 1)} className=\"button is-small\" style={{marginLeft: '15px'}}>&lt;</a>\n                    ) : (\n                        <span className=\"button is-small is-disabled\" style={{marginLeft: '15px'}}>&lt;</span>\n                    )}\n                    {currentPage < totalPages ? (\n                        <a href={getPageLink(currentPage + 1)} className=\"button is-small\" style={{marginLeft: '5px'}}>&gt;</a>\n                    ) : (\n                        <span className=\"button is-small is-disabled\" style={{marginLeft: '5px'}}>&gt;</span>\n                    )}\n                    <span style={{marginLeft: '20px'}}>View</span>\n                    <select value={itemsPerPage} onChange={handleViewChange} style={{marginLeft: '5px'}}>\n                        <option value=\"20\">20</option>\n                        <option value=\"50\">50</option>\n                        <option value=\"100\">100</option>\n                        <option value=\"250\">250</option>\n                    </select>\n                </div>\n            </div>\n\n            <div className=\"pp-clarification\">\n                <h3>Need clarification?</h3>\n                <p><strong>Path</strong> = The pages visited in the order visited by the user before conversion.</p>\n                <p><strong>Path Steps</strong> = The number of pages visited before the conversion.</p>\n                <p><strong>Count</strong> = The number of users that have taken this path over the last 30 days for the free version and across all time for the <a target='_blank' href='https://pathpilot.app/pro/'>premium version</a>.</p>\n                <p><strong>Path Last Taken</strong> = The last time the path was taken by a user either within 30 days for the free version or across all time for the premium version.</p>\n            </div>\n        </div>\n    );\n};\n\ndocument.addEventListener('DOMContentLoaded', () => {\n    const rootEl = document.getElementById('path-pilot-path-analysis-root');\n    if (rootEl) {\n        render(<PathAnalysis />, rootEl);\n    }\n});\n"],"names":["render","useState","Fragment","wp","element","Button","components","Tooltip","content","position","style","top","y","left","x","backgroundColor","color","padding","borderRadius","zIndex","maxWidth","lineHeight","fontSize","boxShadow","_jsxs","children","marginBottom","_jsx","title","permalink","post_type","taxonomies","length","margin","listStyleType","map","tax","i","PathAnalysis","paths","pathData","total_paths","totalPaths","paged","items_per_page","initialItemsPerPage","site_url","sort_by","sortBy","sort_order","sortOrder","plugin_url","site_icon_url","window","pathPilotPathData","itemsPerPage","setItemsPerPage","expandedRow","setExpandedRow","tooltip","setTooltip","visible","currentPage","parseInt","handleRowClick","index","handleSort","column","newSortOrder","toLowerCase","url","URL","location","href","searchParams","set","SortableHeader","isSorted","icon","scope","className","onClick","cursor","fontWeight","marginLeft","handleMouseEnter","e","step","rect","target","getBoundingClientRect","containerRect","closest","bottom","handleMouseLeave","renderPathIcons","path","maxPermalinkLength","nodes","renderStep","isLast","key","iconUrl","is_home","textDecoration","onMouseEnter","onMouseLeave","substring","src","width","height","verticalAlign","renderArrow","opacity","renderEllipsis","push","forEach","handleViewChange","newItemsPerPage","value","getPageLink","pageNumber","totalPages","Math","ceil","startItem","endItem","min","display","justifyContent","alignItems","border","marginRight","replace","isPrimary","background","alt","row","steps","count","last_taken","colSpan","stepIndex","stopPropagation","marginTop","onChange","document","addEventListener","rootEl","getElementById"],"sourceRoot":""}
  • path-pilot/tags/1.3.2/path-pilot.php

    r3401579 r3419631  
    33 * Plugin Name: Path Pilot
    44 * Description: Modern WordPress plugin for smart recommendations and analytics.
    5  * Version: 1.3.0
     5 * Version: 1.3.2
    66 * Author: Solid Digital
    77 * Author URI: https://www.soliddigital.com
     
    1313
    1414if (!defined('ABSPATH')) exit;
    15 define('PATH_PILOT_VERSION', '1.3.0');
     15define('PATH_PILOT_VERSION', '1.3.2');
    1616
    1717// This is the FREE version. Pro features are only available in the Pro build.
  • path-pilot/tags/1.3.2/readme.txt

    r3401588 r3419631  
    11=== Path Pilot ===
    22Requires at least: 6.0
    3 Tested up to: 6.8.3
     3Tested up to: 6.9.0
    44Requires PHP: 7.4
    5 Stable tag: 1.3.0
     5Stable tag: 1.3.2
    66License: GPLv2 or later
    77License URI: https://www.gnu.org/licenses/gpl-2.0.html
  • path-pilot/tags/1.3.2/src/path-analysis.js

    r3401579 r3419631  
    121121
    122122        const renderArrow = (key) => {
    123             return <span key={key} className="dashicons dashicons-arrow-right-alt2" style={{fontSize: '22px', margin: '0 2px', color: '#9ca3af', opacity: 0.5}}></span>;
     123            return <span key={key} className="dashicons dashicons-arrow-right-alt2" style={{fontSize: '12px', margin: '2px 2px', color: '#9ca3af', opacity: 0.5}}></span>;
    124124        };
    125125
    126126        const renderEllipsis = (key) => {
    127127            return (
    128                 <span key={key} style={{
    129                     display: 'inline-flex',
    130                     alignItems: 'center',
    131                     justifyContent: 'center',
    132                     backgroundColor: '#f0f0f0',
    133                     borderRadius: '4px',
    134                     padding: '2px 6px 0',
    135                     margin: '0 2px'
    136                 }}>
    137                     <span className="dashicons dashicons-ellipsis" style={{ color: '#9ca3af', fontSize: '16px' }}></span>
     128                    <span key={key} style={{
     129                        backgroundColor: '#dfdfdf',
     130                        borderRadius: '4px',
     131                        padding: '0',
     132                        margin: '0 2px'
     133                    }}>
     134                        <span className="dashicons dashicons-ellipsis" style={{ color: '#9ca3af', fontSize: '10px', verticalAlign: 'text-bottom' }}></span>
    138135                </span>
    139136            );
  • path-pilot/trunk/assets/css/admin.css

    r3401579 r3419631  
    13211321
    13221322.wp-list-table tbody tr:hover {
    1323     background-color: #f5f5f5; /* A subtle light gray */
     1323    background-color: #fafafa; /* A subtle light gray */
    13241324    cursor: pointer; /* Ensure cursor changes on hover */
    13251325}
     
    13571357  100% { transform: rotate(360deg); }
    13581358}
     1359
     1360.pp-content .dashicons.dashicons-arrow-right-alt2::before {
     1361    display: inline-block;
     1362    vertical-align: middle;
     1363}
     1364
     1365.pp-content .dashicons.dashicons-ellipsis {
     1366    height: 13px;
     1367}
     1368
  • path-pilot/trunk/build/path-analysis.asset.php

    r3401579 r3419631  
    1 <?php return array('dependencies' => array('react-jsx-runtime'), 'version' => '39f9b77ba48f41cdc320');
     1<?php return array('dependencies' => array('react-jsx-runtime'), 'version' => 'd1ef13cf94ff78cd03b2');
  • path-pilot/trunk/build/path-analysis.js

    r3401579 r3419631  
    276276        className: "dashicons dashicons-arrow-right-alt2",
    277277        style: {
    278           fontSize: '22px',
    279           margin: '0 2px',
     278          fontSize: '12px',
     279          margin: '2px 2px',
    280280          color: '#9ca3af',
    281281          opacity: 0.5
     
    286286      return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
    287287        style: {
    288           display: 'inline-flex',
    289           alignItems: 'center',
    290           justifyContent: 'center',
    291           backgroundColor: '#f0f0f0',
     288          backgroundColor: '#dfdfdf',
    292289          borderRadius: '4px',
    293           padding: '2px 6px 0',
     290          padding: '0',
    294291          margin: '0 2px'
    295292        },
     
    298295          style: {
    299296            color: '#9ca3af',
    300             fontSize: '16px'
     297            fontSize: '10px',
     298            verticalAlign: 'text-bottom'
    301299          }
    302300        })
  • path-pilot/trunk/build/path-analysis.js.map

    r3401579 r3419631  
    1 {"version":3,"file":"path-analysis.js","mappings":"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","sources":["webpack://path-pilot/external window \"ReactJSXRuntime\"","webpack://path-pilot/webpack/bootstrap","webpack://path-pilot/webpack/runtime/compat get default export","webpack://path-pilot/webpack/runtime/define property getters","webpack://path-pilot/webpack/runtime/hasOwnProperty shorthand","webpack://path-pilot/webpack/runtime/make namespace object","webpack://path-pilot/./src/path-analysis.js"],"sourcesContent":["module.exports = window[\"ReactJSXRuntime\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const { render, useState, Fragment } = wp.element;\nconst { Button } = wp.components;\n\nconst Tooltip = ({ content, position }) => {\n    if (!content) {\n        return null;\n    }\n\n    const style = {\n        position: 'absolute',\n        top: position.y,\n        left: position.x,\n        backgroundColor: '#23282d',\n        color: '#fff',\n        padding: '10px',\n        borderRadius: '4px',\n        zIndex: 100,\n        maxWidth: '350px',\n        lineHeight: '1.5',\n        fontSize: '13px',\n        boxShadow: '0 2px 5px rgba(0,0,0,0.2)',\n    };\n\n    return (\n        <div style={style}>\n            <div style={{ marginBottom: '5px' }}><strong>Name:</strong> {content.title}</div>\n            <div style={{ marginBottom: '5px' }}><strong>URL:</strong> {content.permalink}</div>\n            <div style={{ marginBottom: '5px' }}><strong>Post Type:</strong> {content.post_type}</div>\n            {content.taxonomies && content.taxonomies.length > 0 && (\n                <div>\n                    <strong>Taxonomy:</strong>\n                    <ul style={{ margin: '5px 0 0 20px', padding: 0, listStyleType: 'disc' }}>\n                        {content.taxonomies.map((tax, i) => (\n                            <li key={i}>{tax}</li>\n                        ))}\n                    </ul>\n                </div>\n            )}\n        </div>\n    );\n};\n\n\nconst PathAnalysis = () => {\n    const { paths: pathData = [], total_paths: totalPaths = 0, paged: paged = 1, items_per_page: initialItemsPerPage = 50, site_url, sort_by: sortBy = 'count', sort_order: sortOrder = 'desc', plugin_url, site_icon_url } = window.pathPilotPathData;\n    let [itemsPerPage, setItemsPerPage] = useState(initialItemsPerPage);\n    const [expandedRow, setExpandedRow] = useState(null);\n    const [tooltip, setTooltip] = useState({ visible: false, content: null, position: { x: 0, y: 0 } });\n    const currentPage = parseInt(paged, 10);\n\n    itemsPerPage = +itemsPerPage;\n\n    const handleRowClick = (index) => {\n        setExpandedRow(expandedRow === index ? null : index);\n    };\n\n    const handleSort = (column) => {\n        const newSortOrder = sortBy === column ? (sortOrder.toLowerCase() === 'asc' ? 'desc' : 'asc') : 'desc';\n        const url = new URL(window.location.href);\n        url.searchParams.set('page', 'path-pilot-path-analysis');\n        url.searchParams.set('sort_by', column);\n        url.searchParams.set('sort_order', newSortOrder);\n        url.searchParams.set('paged', '1'); // Reset to first page\n        window.location.href = url.href;\n    };\n\n    const SortableHeader = ({ children, column }) => {\n        const isSorted = sortBy === column;\n        const icon = (sortOrder.toLowerCase() === 'asc' && isSorted) ? 'dashicons-arrow-up' : 'dashicons-arrow-down';\n\n        return (\n            <th scope=\"col\" className=\"manage-column\" onClick={() => handleSort(column)} style={{ cursor: 'pointer', fontWeight: isSorted ? 'bold' : 'normal' }}>\n                {children}\n                <span className={`dashicons ${icon}`} style={{ marginLeft: '5px', color: isSorted ? 'black' : '#9ca3af' }}></span>\n            </th>\n        );\n    };\n\n    const handleMouseEnter = (e, step) => {\n        const rect = e.target.getBoundingClientRect();\n        const containerRect = e.target.closest('.path-pilot-path-analysis').getBoundingClientRect();\n        setTooltip({\n            visible: true,\n            content: step,\n            position: {\n                x: rect.left - containerRect.left,\n                y: rect.bottom - containerRect.top + 5\n            },\n        });\n    };\n\n    const handleMouseLeave = () => {\n        setTooltip({ visible: false, content: null, position: { x: 0, y: 0 } });\n    };\n\n    const renderPathIcons = (path) => {\n        const maxPermalinkLength = 50;\n        const nodes = [];\n\n        const renderStep = (step, isLast, key) => {\n            const iconUrl = step.is_home ? `${plugin_url}assets/images/icons/house.svg` : `${plugin_url}assets/images/icons/web-page.svg`;\n            if (isLast) {\n                return (\n                    <a key={key} style={{textDecoration: 'none'}}\n                       onMouseEnter={(e) => handleMouseEnter(e, step)}\n                       onMouseLeave={handleMouseLeave}\n                    >\n                        {step.permalink.length > maxPermalinkLength ? step.permalink.substring(0, maxPermalinkLength) + '...' : step.permalink}\n                    </a>\n                );\n            }\n            return (\n                <a key={key} style={{textDecoration: 'none'}}\n                   onMouseEnter={(e) => handleMouseEnter(e, step)}\n                   onMouseLeave={handleMouseLeave}\n                >\n                    <img src={iconUrl} style={{margin: '0 2px', width: '14px', height: '14px', verticalAlign: 'text-bottom'}} />\n                </a>\n            );\n        };\n\n        const renderArrow = (key) => {\n            return <span key={key} className=\"dashicons dashicons-arrow-right-alt2\" style={{fontSize: '22px', margin: '0 2px', color: '#9ca3af', opacity: 0.5}}></span>;\n        };\n\n        const renderEllipsis = (key) => {\n            return (\n                <span key={key} style={{\n                    display: 'inline-flex',\n                    alignItems: 'center',\n                    justifyContent: 'center',\n                    backgroundColor: '#f0f0f0',\n                    borderRadius: '4px',\n                    padding: '2px 6px 0',\n                    margin: '0 2px'\n                }}>\n                    <span className=\"dashicons dashicons-ellipsis\" style={{ color: '#9ca3af', fontSize: '16px' }}></span>\n                </span>\n            );\n        }\n\n        if (path.length >= 8) {\n            // First item\n            nodes.push(renderStep(path[0], false, 'step-0'));\n            nodes.push(renderArrow('arrow-0'));\n\n            // Ellipsis\n            nodes.push(renderEllipsis('ellipsis'));\n            nodes.push(renderArrow('arrow-ellipsis'));\n\n            // Last 5 items\n            for (let i = path.length - 5; i < path.length; i++) {\n                const isLast = i === path.length - 1;\n                nodes.push(renderStep(path[i], isLast, `step-${i}`));\n                if (!isLast) {\n                    nodes.push(renderArrow(`arrow-${i}`));\n                }\n            }\n        } else {\n            path.forEach((step, index) => {\n                const isLast = index === path.length - 1;\n                nodes.push(renderStep(step, isLast, `step-${index}`));\n                if (!isLast) {\n                    nodes.push(renderArrow(`arrow-${index}`));\n                }\n            });\n        }\n\n        return nodes;\n    };\n\n    const handleViewChange = (e) => {\n        const newItemsPerPage = parseInt(e.target.value, 10);\n        setItemsPerPage(newItemsPerPage);\n        const url = new URL(window.location.href);\n        url.searchParams.set('page', 'path-pilot-path-analysis');\n        url.searchParams.set('paged', '1');\n        url.searchParams.set('items', newItemsPerPage);\n        window.location.href = url.href;\n    };\n\n    const getPageLink = (pageNumber) => {\n        const url = new URL(window.location.href);\n        url.searchParams.set('page', 'path-pilot-path-analysis');\n        url.searchParams.set('paged', pageNumber);\n        url.searchParams.set('items', itemsPerPage);\n        return url.href;\n    };\n\n    const totalPages = Math.ceil(totalPaths / itemsPerPage);\n    const startItem = (currentPage - 1) * itemsPerPage + 1;\n    const endItem = Math.min(startItem + itemsPerPage - 1, totalPaths);\n    return (\n        <div className=\"path-pilot-path-analysis\" style={{ position: 'relative' }}>\n            {tooltip.visible && <Tooltip content={tooltip.content} position={tooltip.position} />}\n            <div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'flex-start', marginBottom: '20px' }}>\n                <div>\n                    <h1 className=\"wp-heading-inline\" style={{marginBottom: '1.6rem'}}>Goal Path Analysis</h1>\n                    <p style={{ margin: 0, color: '#50575e', marginBottom: '0.8rem', display: 'flex', alignItems: 'center' }}>\n                        <div style={{\n                            width: '34px',\n                            height: '34px',\n                            borderRadius: '50%',\n                            backgroundColor: '#FFF',\n                            border: '1px solid #D4D8DD',\n                            display: 'flex',\n                            alignItems: 'center',\n                            justifyContent: 'center',\n                            marginRight: '8px'\n                        }}>\n                            <img src={site_icon_url} style={{width: '18px', height: '18px'}} />\n                        </div>\n                        {site_url.replace(/https?:\\/\\//, '')}&nbsp;&nbsp;&nbsp;Showing paths for the last&nbsp;<strong>30 days</strong>\n                    </p>\n                </div>\n                <Button isPrimary style={{background: 'none', fontSize: \"0.9rem\", border: 'none', borderRadius: '8px', padding: '12px 12px 12px 12px'}}>\n                    <img src={plugin_url + 'assets/images/icons/path-pilot-disc-icon.svg'} alt=\"Goal Paths Icon\" style={{marginRight: '5px', width: '16px', height: '16px', verticalAlign: 'text-bottom'}} />\n                    &nbsp;{totalPaths} Goal Paths\n                </Button>\n            </div>\n\n            <div className=\"pp-content\" style={{padding: '0'}}>\n                <table className=\"wp-list-table widefat\">\n                    <thead>\n                    <tr>\n                        <th scope=\"col\" className=\"manage-column\">Path</th>\n                        <SortableHeader column=\"steps\">Path Steps</SortableHeader>\n                        <SortableHeader column=\"count\">Count</SortableHeader>\n                        <SortableHeader column=\"last_taken\">Path Last Taken</SortableHeader>\n                    </tr>\n                    </thead>\n                    <tbody>\n                    {pathData.map((row, index) => (\n                        <Fragment key={index}>\n                            <tr onClick={() => handleRowClick(index)} style={{cursor: 'pointer'}}>\n                                <td>\n                                    {renderPathIcons(row.path)}\n                                </td>\n                                <td style={{ fontWeight: sortBy === 'steps' ? 'bold' : 'normal' }}>{row.steps}</td>\n                                <td style={{ fontWeight: sortBy === 'count' ? 'bold' : 'normal' }}>{row.count}</td>\n                                <td style={{ fontWeight: sortBy === 'last_taken' ? 'bold' : 'normal' }}><img src={`${plugin_url}assets/images/icons/calendar.svg`} style={{marginRight: '5px', width: '12px', height: '13px', verticalAlign: 'text-bottom'}} />&nbsp;{row.last_taken}</td>\n                            </tr>\n                            {expandedRow === index && (\n                                <tr className=\"path-pilot-expanded-row\">\n                                    <td colSpan=\"4\">\n                                        <ol style={{margin: '10px 0 10px 20px'}}>\n                                            {row.path.map((step, stepIndex) => (\n                                                <li key={stepIndex} style={{marginBottom: '5px'}}>\n                                                    &nbsp;&nbsp;&nbsp;<a\n                                                        href={step.permalink}\n                                                        target=\"_blank\"\n                                                        onMouseEnter={(e) => handleMouseEnter(e, step)}\n                                                        onMouseLeave={handleMouseLeave}\n                                                        onClick={(e) => e.stopPropagation()}\n                                                    >\n                                                        {step.permalink.replace(site_url, '')}\n                                                    </a>\n                                                </li>\n                                            ))}\n                                        </ol>\n                                    </td>\n                                </tr>\n                            )}\n                        </Fragment>\n                    ))}\n                    </tbody>\n                </table>\n                <div style={{ display: 'flex', justifyContent: 'flex-end', alignItems: 'center', marginTop: '10px', color: '#50575e' }}>\n                    <span>{startItem}-{endItem} of {totalPaths}</span>\n                    {currentPage > 1 ? (\n                        <a href={getPageLink(currentPage - 1)} className=\"button is-small\" style={{marginLeft: '15px'}}>&lt;</a>\n                    ) : (\n                        <span className=\"button is-small is-disabled\" style={{marginLeft: '15px'}}>&lt;</span>\n                    )}\n                    {currentPage < totalPages ? (\n                        <a href={getPageLink(currentPage + 1)} className=\"button is-small\" style={{marginLeft: '5px'}}>&gt;</a>\n                    ) : (\n                        <span className=\"button is-small is-disabled\" style={{marginLeft: '5px'}}>&gt;</span>\n                    )}\n                    <span style={{marginLeft: '20px'}}>View</span>\n                    <select value={itemsPerPage} onChange={handleViewChange} style={{marginLeft: '5px'}}>\n                        <option value=\"20\">20</option>\n                        <option value=\"50\">50</option>\n                        <option value=\"100\">100</option>\n                        <option value=\"250\">250</option>\n                    </select>\n                </div>\n            </div>\n\n            <div className=\"pp-clarification\">\n                <h3>Need clarification?</h3>\n                <p><strong>Path</strong> = The pages visited in the order visited by the user before conversion.</p>\n                <p><strong>Path Steps</strong> = The number of pages visited before the conversion.</p>\n                <p><strong>Count</strong> = The number of users that have taken this path over the last 30 days for the free version and across all time for the <a target='_blank' href='https://pathpilot.app/pro/'>premium version</a>.</p>\n                <p><strong>Path Last Taken</strong> = The last time the path was taken by a user either within 30 days for the free version or across all time for the premium version.</p>\n            </div>\n        </div>\n    );\n};\n\ndocument.addEventListener('DOMContentLoaded', () => {\n    const rootEl = document.getElementById('path-pilot-path-analysis-root');\n    if (rootEl) {\n        render(<PathAnalysis />, rootEl);\n    }\n});\n"],"names":["render","useState","Fragment","wp","element","Button","components","Tooltip","content","position","style","top","y","left","x","backgroundColor","color","padding","borderRadius","zIndex","maxWidth","lineHeight","fontSize","boxShadow","_jsxs","children","marginBottom","_jsx","title","permalink","post_type","taxonomies","length","margin","listStyleType","map","tax","i","PathAnalysis","paths","pathData","total_paths","totalPaths","paged","items_per_page","initialItemsPerPage","site_url","sort_by","sortBy","sort_order","sortOrder","plugin_url","site_icon_url","window","pathPilotPathData","itemsPerPage","setItemsPerPage","expandedRow","setExpandedRow","tooltip","setTooltip","visible","currentPage","parseInt","handleRowClick","index","handleSort","column","newSortOrder","toLowerCase","url","URL","location","href","searchParams","set","SortableHeader","isSorted","icon","scope","className","onClick","cursor","fontWeight","marginLeft","handleMouseEnter","e","step","rect","target","getBoundingClientRect","containerRect","closest","bottom","handleMouseLeave","renderPathIcons","path","maxPermalinkLength","nodes","renderStep","isLast","key","iconUrl","is_home","textDecoration","onMouseEnter","onMouseLeave","substring","src","width","height","verticalAlign","renderArrow","opacity","renderEllipsis","display","alignItems","justifyContent","push","forEach","handleViewChange","newItemsPerPage","value","getPageLink","pageNumber","totalPages","Math","ceil","startItem","endItem","min","border","marginRight","replace","isPrimary","background","alt","row","steps","count","last_taken","colSpan","stepIndex","stopPropagation","marginTop","onChange","document","addEventListener","rootEl","getElementById"],"sourceRoot":""}
     1{"version":3,"file":"path-analysis.js","mappings":"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","sources":["webpack://path-pilot/external window \"ReactJSXRuntime\"","webpack://path-pilot/webpack/bootstrap","webpack://path-pilot/webpack/runtime/compat get default export","webpack://path-pilot/webpack/runtime/define property getters","webpack://path-pilot/webpack/runtime/hasOwnProperty shorthand","webpack://path-pilot/webpack/runtime/make namespace object","webpack://path-pilot/./src/path-analysis.js"],"sourcesContent":["module.exports = window[\"ReactJSXRuntime\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const { render, useState, Fragment } = wp.element;\nconst { Button } = wp.components;\n\nconst Tooltip = ({ content, position }) => {\n    if (!content) {\n        return null;\n    }\n\n    const style = {\n        position: 'absolute',\n        top: position.y,\n        left: position.x,\n        backgroundColor: '#23282d',\n        color: '#fff',\n        padding: '10px',\n        borderRadius: '4px',\n        zIndex: 100,\n        maxWidth: '350px',\n        lineHeight: '1.5',\n        fontSize: '13px',\n        boxShadow: '0 2px 5px rgba(0,0,0,0.2)',\n    };\n\n    return (\n        <div style={style}>\n            <div style={{ marginBottom: '5px' }}><strong>Name:</strong> {content.title}</div>\n            <div style={{ marginBottom: '5px' }}><strong>URL:</strong> {content.permalink}</div>\n            <div style={{ marginBottom: '5px' }}><strong>Post Type:</strong> {content.post_type}</div>\n            {content.taxonomies && content.taxonomies.length > 0 && (\n                <div>\n                    <strong>Taxonomy:</strong>\n                    <ul style={{ margin: '5px 0 0 20px', padding: 0, listStyleType: 'disc' }}>\n                        {content.taxonomies.map((tax, i) => (\n                            <li key={i}>{tax}</li>\n                        ))}\n                    </ul>\n                </div>\n            )}\n        </div>\n    );\n};\n\n\nconst PathAnalysis = () => {\n    const { paths: pathData = [], total_paths: totalPaths = 0, paged: paged = 1, items_per_page: initialItemsPerPage = 50, site_url, sort_by: sortBy = 'count', sort_order: sortOrder = 'desc', plugin_url, site_icon_url } = window.pathPilotPathData;\n    let [itemsPerPage, setItemsPerPage] = useState(initialItemsPerPage);\n    const [expandedRow, setExpandedRow] = useState(null);\n    const [tooltip, setTooltip] = useState({ visible: false, content: null, position: { x: 0, y: 0 } });\n    const currentPage = parseInt(paged, 10);\n\n    itemsPerPage = +itemsPerPage;\n\n    const handleRowClick = (index) => {\n        setExpandedRow(expandedRow === index ? null : index);\n    };\n\n    const handleSort = (column) => {\n        const newSortOrder = sortBy === column ? (sortOrder.toLowerCase() === 'asc' ? 'desc' : 'asc') : 'desc';\n        const url = new URL(window.location.href);\n        url.searchParams.set('page', 'path-pilot-path-analysis');\n        url.searchParams.set('sort_by', column);\n        url.searchParams.set('sort_order', newSortOrder);\n        url.searchParams.set('paged', '1'); // Reset to first page\n        window.location.href = url.href;\n    };\n\n    const SortableHeader = ({ children, column }) => {\n        const isSorted = sortBy === column;\n        const icon = (sortOrder.toLowerCase() === 'asc' && isSorted) ? 'dashicons-arrow-up' : 'dashicons-arrow-down';\n\n        return (\n            <th scope=\"col\" className=\"manage-column\" onClick={() => handleSort(column)} style={{ cursor: 'pointer', fontWeight: isSorted ? 'bold' : 'normal' }}>\n                {children}\n                <span className={`dashicons ${icon}`} style={{ marginLeft: '5px', color: isSorted ? 'black' : '#9ca3af' }}></span>\n            </th>\n        );\n    };\n\n    const handleMouseEnter = (e, step) => {\n        const rect = e.target.getBoundingClientRect();\n        const containerRect = e.target.closest('.path-pilot-path-analysis').getBoundingClientRect();\n        setTooltip({\n            visible: true,\n            content: step,\n            position: {\n                x: rect.left - containerRect.left,\n                y: rect.bottom - containerRect.top + 5\n            },\n        });\n    };\n\n    const handleMouseLeave = () => {\n        setTooltip({ visible: false, content: null, position: { x: 0, y: 0 } });\n    };\n\n    const renderPathIcons = (path) => {\n        const maxPermalinkLength = 50;\n        const nodes = [];\n\n        const renderStep = (step, isLast, key) => {\n            const iconUrl = step.is_home ? `${plugin_url}assets/images/icons/house.svg` : `${plugin_url}assets/images/icons/web-page.svg`;\n            if (isLast) {\n                return (\n                    <a key={key} style={{textDecoration: 'none'}}\n                       onMouseEnter={(e) => handleMouseEnter(e, step)}\n                       onMouseLeave={handleMouseLeave}\n                    >\n                        {step.permalink.length > maxPermalinkLength ? step.permalink.substring(0, maxPermalinkLength) + '...' : step.permalink}\n                    </a>\n                );\n            }\n            return (\n                <a key={key} style={{textDecoration: 'none'}}\n                   onMouseEnter={(e) => handleMouseEnter(e, step)}\n                   onMouseLeave={handleMouseLeave}\n                >\n                    <img src={iconUrl} style={{margin: '0 2px', width: '14px', height: '14px', verticalAlign: 'text-bottom'}} />\n                </a>\n            );\n        };\n\n        const renderArrow = (key) => {\n            return <span key={key} className=\"dashicons dashicons-arrow-right-alt2\" style={{fontSize: '12px', margin: '2px 2px', color: '#9ca3af', opacity: 0.5}}></span>;\n        };\n\n        const renderEllipsis = (key) => {\n            return (\n                    <span key={key} style={{\n                        backgroundColor: '#dfdfdf',\n                        borderRadius: '4px',\n                        padding: '0',\n                        margin: '0 2px'\n                    }}>\n                        <span className=\"dashicons dashicons-ellipsis\" style={{ color: '#9ca3af', fontSize: '10px', verticalAlign: 'text-bottom' }}></span>\n                </span>\n            );\n        }\n\n        if (path.length >= 8) {\n            // First item\n            nodes.push(renderStep(path[0], false, 'step-0'));\n            nodes.push(renderArrow('arrow-0'));\n\n            // Ellipsis\n            nodes.push(renderEllipsis('ellipsis'));\n            nodes.push(renderArrow('arrow-ellipsis'));\n\n            // Last 5 items\n            for (let i = path.length - 5; i < path.length; i++) {\n                const isLast = i === path.length - 1;\n                nodes.push(renderStep(path[i], isLast, `step-${i}`));\n                if (!isLast) {\n                    nodes.push(renderArrow(`arrow-${i}`));\n                }\n            }\n        } else {\n            path.forEach((step, index) => {\n                const isLast = index === path.length - 1;\n                nodes.push(renderStep(step, isLast, `step-${index}`));\n                if (!isLast) {\n                    nodes.push(renderArrow(`arrow-${index}`));\n                }\n            });\n        }\n\n        return nodes;\n    };\n\n    const handleViewChange = (e) => {\n        const newItemsPerPage = parseInt(e.target.value, 10);\n        setItemsPerPage(newItemsPerPage);\n        const url = new URL(window.location.href);\n        url.searchParams.set('page', 'path-pilot-path-analysis');\n        url.searchParams.set('paged', '1');\n        url.searchParams.set('items', newItemsPerPage);\n        window.location.href = url.href;\n    };\n\n    const getPageLink = (pageNumber) => {\n        const url = new URL(window.location.href);\n        url.searchParams.set('page', 'path-pilot-path-analysis');\n        url.searchParams.set('paged', pageNumber);\n        url.searchParams.set('items', itemsPerPage);\n        return url.href;\n    };\n\n    const totalPages = Math.ceil(totalPaths / itemsPerPage);\n    const startItem = (currentPage - 1) * itemsPerPage + 1;\n    const endItem = Math.min(startItem + itemsPerPage - 1, totalPaths);\n    return (\n        <div className=\"path-pilot-path-analysis\" style={{ position: 'relative' }}>\n            {tooltip.visible && <Tooltip content={tooltip.content} position={tooltip.position} />}\n            <div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'flex-start', marginBottom: '20px' }}>\n                <div>\n                    <h1 className=\"wp-heading-inline\" style={{marginBottom: '1.6rem'}}>Goal Path Analysis</h1>\n                    <p style={{ margin: 0, color: '#50575e', marginBottom: '0.8rem', display: 'flex', alignItems: 'center' }}>\n                        <div style={{\n                            width: '34px',\n                            height: '34px',\n                            borderRadius: '50%',\n                            backgroundColor: '#FFF',\n                            border: '1px solid #D4D8DD',\n                            display: 'flex',\n                            alignItems: 'center',\n                            justifyContent: 'center',\n                            marginRight: '8px'\n                        }}>\n                            <img src={site_icon_url} style={{width: '18px', height: '18px'}} />\n                        </div>\n                        {site_url.replace(/https?:\\/\\//, '')}&nbsp;&nbsp;&nbsp;Showing paths for the last&nbsp;<strong>30 days</strong>\n                    </p>\n                </div>\n                <Button isPrimary style={{background: 'none', fontSize: \"0.9rem\", border: 'none', borderRadius: '8px', padding: '12px 12px 12px 12px'}}>\n                    <img src={plugin_url + 'assets/images/icons/path-pilot-disc-icon.svg'} alt=\"Goal Paths Icon\" style={{marginRight: '5px', width: '16px', height: '16px', verticalAlign: 'text-bottom'}} />\n                    &nbsp;{totalPaths} Goal Paths\n                </Button>\n            </div>\n\n            <div className=\"pp-content\" style={{padding: '0'}}>\n                <table className=\"wp-list-table widefat\">\n                    <thead>\n                    <tr>\n                        <th scope=\"col\" className=\"manage-column\">Path</th>\n                        <SortableHeader column=\"steps\">Path Steps</SortableHeader>\n                        <SortableHeader column=\"count\">Count</SortableHeader>\n                        <SortableHeader column=\"last_taken\">Path Last Taken</SortableHeader>\n                    </tr>\n                    </thead>\n                    <tbody>\n                    {pathData.map((row, index) => (\n                        <Fragment key={index}>\n                            <tr onClick={() => handleRowClick(index)} style={{cursor: 'pointer'}}>\n                                <td>\n                                    {renderPathIcons(row.path)}\n                                </td>\n                                <td style={{ fontWeight: sortBy === 'steps' ? 'bold' : 'normal' }}>{row.steps}</td>\n                                <td style={{ fontWeight: sortBy === 'count' ? 'bold' : 'normal' }}>{row.count}</td>\n                                <td style={{ fontWeight: sortBy === 'last_taken' ? 'bold' : 'normal' }}><img src={`${plugin_url}assets/images/icons/calendar.svg`} style={{marginRight: '5px', width: '12px', height: '13px', verticalAlign: 'text-bottom'}} />&nbsp;{row.last_taken}</td>\n                            </tr>\n                            {expandedRow === index && (\n                                <tr className=\"path-pilot-expanded-row\">\n                                    <td colSpan=\"4\">\n                                        <ol style={{margin: '10px 0 10px 20px'}}>\n                                            {row.path.map((step, stepIndex) => (\n                                                <li key={stepIndex} style={{marginBottom: '5px'}}>\n                                                    &nbsp;&nbsp;&nbsp;<a\n                                                        href={step.permalink}\n                                                        target=\"_blank\"\n                                                        onMouseEnter={(e) => handleMouseEnter(e, step)}\n                                                        onMouseLeave={handleMouseLeave}\n                                                        onClick={(e) => e.stopPropagation()}\n                                                    >\n                                                        {step.permalink.replace(site_url, '')}\n                                                    </a>\n                                                </li>\n                                            ))}\n                                        </ol>\n                                    </td>\n                                </tr>\n                            )}\n                        </Fragment>\n                    ))}\n                    </tbody>\n                </table>\n                <div style={{ display: 'flex', justifyContent: 'flex-end', alignItems: 'center', marginTop: '10px', color: '#50575e' }}>\n                    <span>{startItem}-{endItem} of {totalPaths}</span>\n                    {currentPage > 1 ? (\n                        <a href={getPageLink(currentPage - 1)} className=\"button is-small\" style={{marginLeft: '15px'}}>&lt;</a>\n                    ) : (\n                        <span className=\"button is-small is-disabled\" style={{marginLeft: '15px'}}>&lt;</span>\n                    )}\n                    {currentPage < totalPages ? (\n                        <a href={getPageLink(currentPage + 1)} className=\"button is-small\" style={{marginLeft: '5px'}}>&gt;</a>\n                    ) : (\n                        <span className=\"button is-small is-disabled\" style={{marginLeft: '5px'}}>&gt;</span>\n                    )}\n                    <span style={{marginLeft: '20px'}}>View</span>\n                    <select value={itemsPerPage} onChange={handleViewChange} style={{marginLeft: '5px'}}>\n                        <option value=\"20\">20</option>\n                        <option value=\"50\">50</option>\n                        <option value=\"100\">100</option>\n                        <option value=\"250\">250</option>\n                    </select>\n                </div>\n            </div>\n\n            <div className=\"pp-clarification\">\n                <h3>Need clarification?</h3>\n                <p><strong>Path</strong> = The pages visited in the order visited by the user before conversion.</p>\n                <p><strong>Path Steps</strong> = The number of pages visited before the conversion.</p>\n                <p><strong>Count</strong> = The number of users that have taken this path over the last 30 days for the free version and across all time for the <a target='_blank' href='https://pathpilot.app/pro/'>premium version</a>.</p>\n                <p><strong>Path Last Taken</strong> = The last time the path was taken by a user either within 30 days for the free version or across all time for the premium version.</p>\n            </div>\n        </div>\n    );\n};\n\ndocument.addEventListener('DOMContentLoaded', () => {\n    const rootEl = document.getElementById('path-pilot-path-analysis-root');\n    if (rootEl) {\n        render(<PathAnalysis />, rootEl);\n    }\n});\n"],"names":["render","useState","Fragment","wp","element","Button","components","Tooltip","content","position","style","top","y","left","x","backgroundColor","color","padding","borderRadius","zIndex","maxWidth","lineHeight","fontSize","boxShadow","_jsxs","children","marginBottom","_jsx","title","permalink","post_type","taxonomies","length","margin","listStyleType","map","tax","i","PathAnalysis","paths","pathData","total_paths","totalPaths","paged","items_per_page","initialItemsPerPage","site_url","sort_by","sortBy","sort_order","sortOrder","plugin_url","site_icon_url","window","pathPilotPathData","itemsPerPage","setItemsPerPage","expandedRow","setExpandedRow","tooltip","setTooltip","visible","currentPage","parseInt","handleRowClick","index","handleSort","column","newSortOrder","toLowerCase","url","URL","location","href","searchParams","set","SortableHeader","isSorted","icon","scope","className","onClick","cursor","fontWeight","marginLeft","handleMouseEnter","e","step","rect","target","getBoundingClientRect","containerRect","closest","bottom","handleMouseLeave","renderPathIcons","path","maxPermalinkLength","nodes","renderStep","isLast","key","iconUrl","is_home","textDecoration","onMouseEnter","onMouseLeave","substring","src","width","height","verticalAlign","renderArrow","opacity","renderEllipsis","push","forEach","handleViewChange","newItemsPerPage","value","getPageLink","pageNumber","totalPages","Math","ceil","startItem","endItem","min","display","justifyContent","alignItems","border","marginRight","replace","isPrimary","background","alt","row","steps","count","last_taken","colSpan","stepIndex","stopPropagation","marginTop","onChange","document","addEventListener","rootEl","getElementById"],"sourceRoot":""}
  • path-pilot/trunk/path-pilot.php

    r3401579 r3419631  
    33 * Plugin Name: Path Pilot
    44 * Description: Modern WordPress plugin for smart recommendations and analytics.
    5  * Version: 1.3.0
     5 * Version: 1.3.2
    66 * Author: Solid Digital
    77 * Author URI: https://www.soliddigital.com
     
    1313
    1414if (!defined('ABSPATH')) exit;
    15 define('PATH_PILOT_VERSION', '1.3.0');
     15define('PATH_PILOT_VERSION', '1.3.2');
    1616
    1717// This is the FREE version. Pro features are only available in the Pro build.
  • path-pilot/trunk/readme.txt

    r3401588 r3419631  
    11=== Path Pilot ===
    22Requires at least: 6.0
    3 Tested up to: 6.8.3
     3Tested up to: 6.9.0
    44Requires PHP: 7.4
    5 Stable tag: 1.3.0
     5Stable tag: 1.3.2
    66License: GPLv2 or later
    77License URI: https://www.gnu.org/licenses/gpl-2.0.html
  • path-pilot/trunk/src/path-analysis.js

    r3401579 r3419631  
    121121
    122122        const renderArrow = (key) => {
    123             return <span key={key} className="dashicons dashicons-arrow-right-alt2" style={{fontSize: '22px', margin: '0 2px', color: '#9ca3af', opacity: 0.5}}></span>;
     123            return <span key={key} className="dashicons dashicons-arrow-right-alt2" style={{fontSize: '12px', margin: '2px 2px', color: '#9ca3af', opacity: 0.5}}></span>;
    124124        };
    125125
    126126        const renderEllipsis = (key) => {
    127127            return (
    128                 <span key={key} style={{
    129                     display: 'inline-flex',
    130                     alignItems: 'center',
    131                     justifyContent: 'center',
    132                     backgroundColor: '#f0f0f0',
    133                     borderRadius: '4px',
    134                     padding: '2px 6px 0',
    135                     margin: '0 2px'
    136                 }}>
    137                     <span className="dashicons dashicons-ellipsis" style={{ color: '#9ca3af', fontSize: '16px' }}></span>
     128                    <span key={key} style={{
     129                        backgroundColor: '#dfdfdf',
     130                        borderRadius: '4px',
     131                        padding: '0',
     132                        margin: '0 2px'
     133                    }}>
     134                        <span className="dashicons dashicons-ellipsis" style={{ color: '#9ca3af', fontSize: '10px', verticalAlign: 'text-bottom' }}></span>
    138135                </span>
    139136            );
Note: See TracChangeset for help on using the changeset viewer.