From 0ccb13a7ec5f0a27d1a044db82f9fbf338cdfef1 Mon Sep 17 00:00:00 2001 From: jgclark Date: Sun, 22 Feb 2026 21:45:19 +0000 Subject: [PATCH 01/23] Remove the
and parts, to have just one list. Add toggles for each project tag to the filters menu. --- jgclark.Reviews/requiredFiles/projectList.css | 71 ++++++----- jgclark.Reviews/src/projectsHTMLGenerator.js | 60 ++++++++- jgclark.Reviews/src/reviews.js | 118 +++++++++++++++--- 3 files changed, 191 insertions(+), 58 deletions(-) diff --git a/jgclark.Reviews/requiredFiles/projectList.css b/jgclark.Reviews/requiredFiles/projectList.css index 063fcf7d2..135ce5169 100644 --- a/jgclark.Reviews/requiredFiles/projectList.css +++ b/jgclark.Reviews/requiredFiles/projectList.css @@ -9,6 +9,8 @@ body { --project-pause-color: #AAA; --project-no-percent-color: #BBB; --project-zero-progress-color: #9F2626; + --fg-placeholder-color: rgb(from var(--fg-main-color) r g b / 0.8); + --bg-lozenge-color: rgb(from var(--bg-main-color) r g b / 0.8); } /* turn off special colouring and underlining for links -- turn on later when desired */ @@ -60,6 +62,31 @@ h3, .h3 { min-width: max-content; } +/* Tag toggles inside Filters dropdown; label left, count in parentheses, toggle right */ +.display-filters-tag-toggles { + margin-bottom: 0.2rem; +} +.display-filters-option--tag-row { + display: flex; + justify-content: space-between; + align-items: center; + gap: 0.6rem; +} +.display-filters-option--tag-row .display-filters-option-text { + flex: 1 1 auto; +} +.display-filters-option-count { + color: var(--fg-placeholder-color); +} +.display-filters-option--tag-row .apple-switch { + flex: 0 0 auto; +} +.display-filters-divider { + border: 0; + border-top: 1px solid var(--fg-divider, var(--divider-color, #CDCFD0)); + margin: 0.4rem 0; +} + /* Display filters: button uses .PCButton (same as Refresh), dropdown below */ .display-filters-wrapper { position: relative; @@ -148,7 +175,7 @@ h3, .h3 { } /* Legacy td/th kept for any remaining references; grid uses .project-grid-cell */ -td, th { +/* td, th { font-weight: normal; text-align: left; padding-right: 0.4rem; @@ -159,7 +186,7 @@ th { } td:first-child, th:first-child { padding-left: 0.5rem; -} +} */ /* Display of Number of projects */ .folder-header-text { @@ -193,7 +220,6 @@ details[open] > summary::after { transform: rotate(90deg); } -/* FIXME: Create inner wrapper for smooth animation */ details > .details-content > * { overflow: hidden; } @@ -244,6 +270,7 @@ summary::after { .folder-header { color: var(--tint-color); + font-size: 1.1rem !important; /* TODO: find better method for this than !important */ padding-top: 0.7rem; padding-left: 0.5rem; padding-right: 0.3rem; @@ -409,9 +436,6 @@ button, .fake-button, .clickTarget { font-weight: 500; text-decoration: none; } -.noteTitle:hover { - /* placeholder */ -} .noteTitleIcon { /* placeholder */ } @@ -438,6 +462,8 @@ button, .fake-button, .clickTarget { margin-left: 0.1rem; } +/* ---- METADATA LOZENGES ---------------------------------- */ + /* Column 3: metadata (status lozenges + project tags). Status lozenges – colour from getIntervalReviewStatus / getIntervalDueStatus */ .project-metadata-cell { display: flex; @@ -458,27 +484,27 @@ button, .fake-button, .clickTarget { } .metadata-lozenge--tag { color: var(--fg-placeholder-color); - background-color: var(--bg-alt-color); + background-color: var(--bg-lozenge-color, #FFFFFFBB); border: 1px solid rgb(from var(--fg-main-color) r g b / 0.2); } .metadata-lozenge--red { color: #b85450; - /* border: 1px solid #b85450; */ + border: 1px solid #b8545070; background-color: #b8545010 } .metadata-lozenge--orange { color: #c76a40; - /* border: 1px solid #c76a00; */ + border: 1px solid #c76a0070; background-color: #c76a4010 } .metadata-lozenge--blue { color: #1e66f5; - /* border: 1px solid #1e66f5; */ + border: 1px solid #1e66f570; background-color: #1e66f510 } .metadata-lozenge--green { color: #269F54; - /* border: 1px solid #269F54; */ + border: 1px solid #269F5470; background-color: #269F5410 } @@ -522,10 +548,6 @@ button, .fake-button, .clickTarget { } /* ---- ICONS etc. ----------------------------------------- */ -/* set all FA icons to default to tint color */ -i.fa-solid, i.fa-regular { - /* color: var(--tint-color); */ -} /* make checkbox display larger, and like in the app. */ .checkbox { font-family: "noteplanstate"; font-size: 1.4rem; @@ -664,22 +686,3 @@ input.apple-switch:checked:after { input, label { vertical-align: top; } - -ul { - display: flex; - padding: 0.4rem; - margin: 0rem; -} -li { - break-inside: avoid; - display: block; - padding-inline: 0.4rem; -} - -.fake-checkbox { - font-size: 1.0rem; - } -.fake-checkbox::before { - content: '●'; -} - diff --git a/jgclark.Reviews/src/projectsHTMLGenerator.js b/jgclark.Reviews/src/projectsHTMLGenerator.js index 02f5ddba8..93afa2aec 100644 --- a/jgclark.Reviews/src/projectsHTMLGenerator.js +++ b/jgclark.Reviews/src/projectsHTMLGenerator.js @@ -28,12 +28,14 @@ import { encodeRFC3986URIComponent, prepAndTruncateMarkdownForDisplay } from '@h * @param {Project} thisProject * @param {ReviewConfig} config * @param {string} style: 'Rich' (-> HTML), or 'Markdown' + * @param {Array?} wantedTagsForRow - when provided (single-section view), added as data-wanted-tags on the row for tag toggles * @returns {string} HTML or Markdown string for the project output line (or empty string if error) */ export function generateProjectOutputLine( thisProject: Project, config: ReviewConfig, style: string, + wantedTagsForRow?: Array, ): string { // logInfo('generateProjectOutputLine', `- ${thisProject.title}: nRD ${thisProject.nextReviewDays} / due ${thisProject.dueDays}`) const ignoreChecklistsInProgress = checkBoolean(DataStore.preference('ignoreChecklistsInProgress')) || false @@ -53,7 +55,7 @@ export function generateProjectOutputLine( } if (style === 'Rich') { - output = generateRichHTMLRow(thisProject, config) + output = generateRichHTMLRow(thisProject, config, wantedTagsForRow) } else if (style === 'Markdown' || style === 'list') { output = generateMarkdownLine(thisProject, config, style, statsProgress, thisPercent) } else { @@ -67,12 +69,16 @@ export function generateProjectOutputLine( * Generate Rich HTML row for project * @param {Project} thisProject * @param {ReviewConfig} config + * @param {Array?} wantedTagsForRow - when provided, output as data-wanted-tags for tag-toggle filtering * @returns {string} * @private */ -function generateRichHTMLRow(thisProject: Project, config: ReviewConfig): string { +function generateRichHTMLRow(thisProject: Project, config: ReviewConfig, wantedTagsForRow?: Array): string { const parts: Array = [] - parts.push(`\t
\n\t\t`) + const wantedTagsAttr = (wantedTagsForRow != null && wantedTagsForRow.length > 0) + ? ` data-wanted-tags="${wantedTagsForRow.join(' ').replace(/"/g, '"')}"` + : '' + parts.push(`\t
\n\t\t`) parts.push(generateCircleIndicator(thisProject)) // Column 2a: Project name + link / item count badge / edit dialog trigger button @@ -451,6 +457,23 @@ export function generateTopBarHTML(config: any): string { parts.push(` `) parts.push(`
`) + let due = 0 + for (const p of projectsToReview) { + if (!p.isPaused && p.nextReviewDays != null && !isNaN(p.nextReviewDays) && p.nextReviewDays <= 0) due += 1 + } + const noteCount = projectsToReview.length + outputArray.push(generateSingleSectionHeaderHTML(noteCount, due, config)) + if (noteCount > 0) { + outputArray.push(generateTableStructureHTML(config, noteCount)) + let lastFolder = '' + for (const thisProject of projectsToReview) { + const thisNote = DataStore.projectNoteByFilename(thisProject.filename) + if (!thisNote) { + logWarn('renderProjectListsHTML', `Can't find note for filename ${thisProject.filename}`) + continue + } + if (config.displayGroupedByFolder && lastFolder !== thisProject.folder) { + const folderDisplayName = getFolderDisplayNameForHTML(thisProject.folder) + let folderPart = folderDisplayName + if (config.hideTopLevelFolder) { + if (folderDisplayName.includes(']')) { + const match = folderDisplayName.match(/^(\[.*?\])\s*(.+)$/) + if (match) { + const pathPart = match[2] + const pathParts = pathPart.split('/').filter(p => p !== '') + folderPart = `${match[1]} ${pathParts.length > 0 ? pathParts[pathParts.length - 1] : pathPart}` + } else { + folderPart = folderDisplayName.split('/').slice(-1)[0] || folderDisplayName + } + } else { + const pathParts = folderDisplayName.split('/').filter(p => p !== '') + folderPart = pathParts.length > 0 ? pathParts[pathParts.length - 1] : folderDisplayName + } + } + if (thisProject.folder === '/') folderPart = '(root folder)' + outputArray.push(generateFolderHeaderHTML(folderPart, config)) } + const wantedTagsForRow = (thisProject.allProjectTags != null && wantedTags.length > 0) + ? thisProject.allProjectTags.filter(t => wantedTags.includes(t)) + : [] + outputArray.push(generateProjectOutputLine(thisProject, config, 'Rich', wantedTagsForRow)) + lastFolder = thisProject.folder } - logTimer('renderProjectListsHTML', funcTimer, `end of loop for ${thisTag}`) + outputArray.push(' ') + outputArray.push(' ') // details-content div } + logTimer('renderProjectListsHTML', funcTimer, `end single section (${noteCount} projects)`) // Generate project control dialog HTML outputArray.push(generateProjectControlDialogHTML()) @@ -553,7 +631,7 @@ export async function renderProjectListsHTML( makeModal: false, // = not modal window bodyOptions: 'onload="showTimeAgo()"', preBodyScript: setPercentRingJSFunc + scrollPreLoadJSFuncs, - postBodyScript: checkboxHandlerJSFunc + setScrollPosJS + displayFiltersDropdownScript + ` + postBodyScript: checkboxHandlerJSFunc + setScrollPosJS + displayFiltersDropdownScript + tagTogglesVisibilityScript + ` ` + commsBridgeScripts + shortcutsScript + addToggleEvents, // + collapseSection + resizeListenerScript + unloadListenerScript, From 23eab84fd61503284c4c5826c27fdc9667dbc888 Mon Sep 17 00:00:00 2001 From: jgclark Date: Mon, 23 Feb 2026 00:19:04 +0000 Subject: [PATCH 02/23] Allow project tags to be shown in col2 or col3 in table display --- jgclark.Reviews/plugin.json | 13 ++++++++++ jgclark.Reviews/requiredFiles/projectList.css | 9 +++++-- jgclark.Reviews/src/projectsHTMLGenerator.js | 25 ++++++++++++++----- jgclark.Reviews/src/reviewHelpers.js | 3 ++- 4 files changed, 41 insertions(+), 9 deletions(-) diff --git a/jgclark.Reviews/plugin.json b/jgclark.Reviews/plugin.json index 61a050be1..a7cf2bdfb 100644 --- a/jgclark.Reviews/plugin.json +++ b/jgclark.Reviews/plugin.json @@ -447,6 +447,19 @@ "default": true, "required": true }, + { + "hidden": true, + "key": "projectTagsInColumn", + "title": "Where to show project tags?", + "description": "Project tags (e.g. #project, #area) can be shown in column 2 (after the open-count badge) or in column 3 (with review/due status).", + "type": "string", + "choices": [ + "column2", + "column3" + ], + "default": "column3", + "required": true + }, { "key": "width", "title": "Window width", diff --git a/jgclark.Reviews/requiredFiles/projectList.css b/jgclark.Reviews/requiredFiles/projectList.css index 135ce5169..b4b3791df 100644 --- a/jgclark.Reviews/requiredFiles/projectList.css +++ b/jgclark.Reviews/requiredFiles/projectList.css @@ -1,6 +1,6 @@ /** * CSS specific to reviewList() from jgclark.Reviews plugin - * Last updated 2026-02-16 for v1.3.0.b12, @jgclark + * Last updated 2026-02-22 for v1.4.0.b1, @jgclark */ body { @@ -462,9 +462,14 @@ button, .fake-button, .clickTarget { margin-left: 0.1rem; } +/* Project tags moved from column 3 to column 2 (after open-count badge) */ +.project-tags-inline { + margin-left: 0.35rem; +} + /* ---- METADATA LOZENGES ---------------------------------- */ -/* Column 3: metadata (status lozenges + project tags). Status lozenges – colour from getIntervalReviewStatus / getIntervalDueStatus */ +/* Column 3: metadata (review/due status lozenges only; project tags are in column 2). Status lozenges – colour from getIntervalReviewStatus / getIntervalDueStatus */ .project-metadata-cell { display: flex; align-items: center; diff --git a/jgclark.Reviews/src/projectsHTMLGenerator.js b/jgclark.Reviews/src/projectsHTMLGenerator.js index 93afa2aec..ff03bc1a3 100644 --- a/jgclark.Reviews/src/projectsHTMLGenerator.js +++ b/jgclark.Reviews/src/projectsHTMLGenerator.js @@ -3,7 +3,7 @@ // HTML Generation Functions for Reviews Plugin // Consolidated HTML generation logic from multiple files // by Jonathan Clark -// Last updated 2026-02-16 for v1.3.0.b12 by @jgclark +// Last updated 2026-02-22 for v1.4.0.b1 by @jgclark //----------------------------------------------------------------------------- import { Project } from './projectClass' @@ -81,10 +81,12 @@ function generateRichHTMLRow(thisProject: Project, config: ReviewConfig, wantedT parts.push(`\t
\n\t\t`) parts.push(generateCircleIndicator(thisProject)) - // Column 2a: Project name + link / item count badge / edit dialog trigger button + // Column 2a: Project name + link / edit button / open-count badge / project tags (if setting is column2) const editButton = ` \n` const openItemCount = generateItemCountsBadge(thisProject) - parts.push(`\n\t\t\t
${decoratedProjectTitle(thisProject, 'Rich', config)}${editButton}${openItemCount}`) + const showTagsInColumn2 = config.projectTagsInColumn !== 'column3' + const projectTagsInline = showTagsInColumn2 ? generateProjectTagsLozenges(thisProject) : '' + parts.push(`\n\t\t\t
${decoratedProjectTitle(thisProject, 'Rich', config)}${editButton}${openItemCount}${projectTagsInline}`) if (!thisProject.isCompleted && !thisProject.isCancelled) { const nextActionsContent: Array = thisProject.nextActionsRawContent @@ -149,6 +151,18 @@ function generateItemCountsBadge(thisProject: Project): string { return parts.join('') } +/** + * Generate project tags as lozenge spans (for use in column 2 after open-count badge). + * @param {Project} thisProject + * @returns {string} + * @private + */ +function generateProjectTagsLozenges(thisProject: Project): string { + if (thisProject.allProjectTags == null || thisProject.allProjectTags.length === 0) return '' + const parts = thisProject.allProjectTags.map((hashtag) => ``) + return `${parts.join(' ')}` +} + /** * Generate progress section HTML (stats: percent done / item count; comment shown in progress line row when present) * @param {Project} thisProject @@ -216,9 +230,8 @@ function generateDateSection(thisProject: Project, config: ReviewConfig): string const lozenges: Array = [] - // Add all lozenges, each in their own span within one div - // Start with project tags - if (thisProject.allProjectTags != null && thisProject.allProjectTags.length > 0) { + // Project tags: in column 3 only when setting is 'column3'; otherwise they are in column 2 + if (config.projectTagsInColumn === 'column3' && thisProject.allProjectTags != null && thisProject.allProjectTags.length > 0) { for (const hashtag of thisProject.allProjectTags) { lozenges.push(``) } diff --git a/jgclark.Reviews/src/reviewHelpers.js b/jgclark.Reviews/src/reviewHelpers.js index 74b5aead7..6eb1b0d63 100644 --- a/jgclark.Reviews/src/reviewHelpers.js +++ b/jgclark.Reviews/src/reviewHelpers.js @@ -2,7 +2,7 @@ //----------------------------------------------------------------------------- // Helper functions for Review plugin // by Jonathan Clark -// Last updated 2026-02-10 for v1.3.0.b9, @jgclark +// Last updated 2026-02-22 for v1.4.0.b1, @jgclark //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- @@ -53,6 +53,7 @@ export type ReviewConfig = { displayOrder: string, displayOnlyDue: boolean, displayProgress: boolean, + projectTagsInColumn?: string, // 'column2' | 'column3'; default column2 finishedListHeading: string, hideTopLevelFolder: boolean, ignoreChecklistsInProgress: boolean, From 9a61a109da346b644ae46f6ed8afd31758e044fd Mon Sep 17 00:00:00 2001 From: jgclark Date: Mon, 23 Feb 2026 00:22:16 +0000 Subject: [PATCH 03/23] Remove single-section header --- jgclark.Reviews/src/projectsHTMLGenerator.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/jgclark.Reviews/src/projectsHTMLGenerator.js b/jgclark.Reviews/src/projectsHTMLGenerator.js index ff03bc1a3..1515a5725 100644 --- a/jgclark.Reviews/src/projectsHTMLGenerator.js +++ b/jgclark.Reviews/src/projectsHTMLGenerator.js @@ -548,9 +548,10 @@ export function generateSingleSectionHeaderHTML(noteCount: number, due: number, if (config.numberDaysForFutureToIgnore > 0) { numberItemsStr += ` (with future tasks ignored)` } - parts.push(`
`) - parts.push(` Projects${numberItemsStr}`) - parts.push(`
`) + // parts.push(`
`) + // parts.push(` Projects${numberItemsStr}`) + // parts.push(`
`) + parts.push(`\n
`) if (!config.displayGroupedByFolder && config.foldersToInclude.length === 1) { const folderDisplayName = getFolderDisplayNameForHTML(config.foldersToInclude[0]) From 9e9bc355a395988ada978bbbd35ed91ca89f3f22 Mon Sep 17 00:00:00 2001 From: jgclark Date: Tue, 24 Feb 2026 09:22:39 +0000 Subject: [PATCH 04/23] Tweak to window/custom IDs in showHTMLV2() identified by Cursor --- helpers/HTMLView.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/helpers/HTMLView.js b/helpers/HTMLView.js index a72f26dae..1176f64d0 100644 --- a/helpers/HTMLView.js +++ b/helpers/HTMLView.js @@ -8,7 +8,7 @@ import showdown from 'showdown' // for Markdown -> HTML from https://github.com/ import { hasFrontMatter } from '@helpers/NPFrontMatter' import { getFolderFromFilename } from '@helpers/folders' import { clo, logDebug, logError, logInfo, logWarn, JSP, timer } from '@helpers/dev' -import { getStoredWindowRect, getWindowFromCustomId, isHTMLWindowOpen, storeWindowRect } from '@helpers/NPWindows' +import { getStoredWindowRect, getWindowFromCustomId, getWindowIdFromCustomId, isHTMLWindowOpen, storeWindowRect } from '@helpers/NPWindows' import { generateCSSFromTheme, RGBColourConvert } from '@helpers/NPThemeToCSS' import { isTermInEventLinkHiddenPart, isTermInNotelinkOrURI, isTermInMarkdownPath } from '@helpers/paragraph' import { RE_EVENT_LINK, RE_SYNC_MARKER, formRegExForUsersOpenTasks } from '@helpers/regex' @@ -716,7 +716,10 @@ export async function sendToHTMLWindow(windowId: string, actionType: string, dat const windowExists = isHTMLWindowOpen(windowId) if (!windowExists) logWarn(`sendToHTMLWindow`, `Window ${windowId} does not exist; setting NPWindowID = undefined`) - const windowIdToSend = windowExists ? windowId : undefined // for iphone/ipad you have to send undefined + // runJavaScript expects the window's internal id; resolve customId to actual id when present + // TEST: this change identified by Cursor + // TEST: Not sure the comment about iphone/ipad is still relevant, but leaving it in for now. + const windowIdToSend = windowExists ? (getWindowIdFromCustomId(windowId) || windowId) : undefined // for iphone/ipad you have to send undefined const dataWithUpdated = { ...data, From 7432a64462f3f345670bc56f275dde370572ff90 Mon Sep 17 00:00:00 2001 From: jgclark Date: Tue, 24 Feb 2026 09:22:42 +0000 Subject: [PATCH 05/23] b2 - add basic demo mode --- helpers/NPdateTime.js | 2 +- jgclark.Reviews/CHANGELOG.md | 5 +- jgclark.Reviews/plugin.json | 21 ++- .../projects-list-v1.4.0.b1 2@2x.png | Bin 0 -> 425723 bytes jgclark.Reviews/src/allProjectsListHelpers.js | 128 ++++++++++++++---- jgclark.Reviews/src/index.js | 3 +- jgclark.Reviews/src/projectClass.js | 12 +- jgclark.Reviews/src/reviewHelpers.js | 9 +- jgclark.Reviews/src/reviews.js | 99 +++++++++++--- 9 files changed, 217 insertions(+), 62 deletions(-) create mode 100644 jgclark.Reviews/projects-list-v1.4.0.b1 2@2x.png diff --git a/helpers/NPdateTime.js b/helpers/NPdateTime.js index cda4ee488..87983d898 100644 --- a/helpers/NPdateTime.js +++ b/helpers/NPdateTime.js @@ -1148,7 +1148,7 @@ export function getRelativeDates(useISODailyDates: boolean = false): Array<{ rel const relativeDates = [] const todayMom = moment() - logInfo('NPdateTime::getRelativeDates', `Starting, with DataStore: ${typeof DataStore}`) + // logInfo('NPdateTime::getRelativeDates', `Starting, with DataStore: ${typeof DataStore}`) if (!DataStore || typeof DataStore !== 'object') { // A further test for DataStore.calendarNoteByDateString, as that can sometimes fail even when DataStore is available if (!DataStore.calendarNoteByDateString) { diff --git a/jgclark.Reviews/CHANGELOG.md b/jgclark.Reviews/CHANGELOG.md index 5c37c1833..95cce3b59 100644 --- a/jgclark.Reviews/CHANGELOG.md +++ b/jgclark.Reviews/CHANGELOG.md @@ -1,7 +1,10 @@ # What's changed in 🔬 Projects + Reviews plugin? See [website README for more details](https://github.com/NotePlan/plugins/tree/main/jgclark.Reviews), and how to configure.under-the-hood fixes for integration with Dashboard plugin -## [1.4.0.b1] - 2026-02-??? +## [1.4.0.b2] - 2026-02-24 +- Added a 'Demo' mode, which swaps in a separate `allProjectsDemoListDefault.json` to display details of real (or potentially fictitious) projects for demo. + +## [1.4.0.b1] - 2026-02-22 ### Changed - Rich project list: column 3 (metadata column) now shows review and due status as coloured lozenges, plus project tag(s), #sequential when applicable, and all hashtags from the note's metadata line and frontmatter `project` value. New Project field `allProjectTags` holds this combined list. - dev: Project class now uses ISO date strings (YYYY-MM-DD) for startDate, dueDate, reviewedDate, completedDate, and cancelledDate instead of JavaScript Date objects; removes Date/string conversion in constructor, allProjectsListHelpers, and reviewHelpers. diff --git a/jgclark.Reviews/plugin.json b/jgclark.Reviews/plugin.json index a7cf2bdfb..7da22b408 100644 --- a/jgclark.Reviews/plugin.json +++ b/jgclark.Reviews/plugin.json @@ -11,7 +11,7 @@ "plugin.changelog": "https://github.com/NotePlan/plugins/blob/main/jgclark.Reviews/CHANGELOG.md", "plugin.version": "1.4.0.b1", "plugin.releaseStatus": "beta", - "plugin.lastUpdateInfo": "1.4.0.b1: Changed display of due/review dates from columns 3 and 4 into a new info area.\n1.3.0: Please see CHANGELOG.md for details of the many Display improvements, Processing improvements and fixes.", + "plugin.lastUpdateInfo": "1.4.0.b2: Added new demo command project lists.\n1.4.0.b1: Changed display of due/review dates from columns 3 and 4 into a new info area.\n1.3.0: Please see CHANGELOG.md for details of the many Display improvements, Processing improvements and fixes.", "plugin.script": "script.js", "plugin.dependsOn": [ { @@ -57,6 +57,13 @@ "iconColor": "orange-600" } }, + { + "hidden": false, + "comment": "TODO: Hide later", + "name": "toggle demo mode for project lists", + "description": "Toggle demo mode for project lists. When true, '/project lists' shows fixed demo data (allProjectsDemoList.json), without recalculating from notes", + "jsFunction": "toggleDemoModeForProjectLists" + }, { "hidden": true, "name": "generateProjectListsAndRenderIfOpen", @@ -275,6 +282,18 @@ } ], "plugin.settings": [ + { + "type": "heading", + "title": "Demo mode" + }, + { + "key": "useDemoData", + "title": "Use demo data?", + "description": "If set, then the project lists will use demo data instead of live data.", + "type": "bool", + "default": false, + "required": true + }, { "type": "heading", "title": "What do you want to Review?" diff --git a/jgclark.Reviews/projects-list-v1.4.0.b1 2@2x.png b/jgclark.Reviews/projects-list-v1.4.0.b1 2@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..53c4aa3c6a2f8532946ef795a1049542ee8b0c53 GIT binary patch literal 425723 zcmeEuXIPWj6E7kPHi`vMs<4Vk2~B#lASz8oIwS~&5UL41G?86FswfbUsz8w5I|;Z7 zD4{4Z1PDb5AwcL5AcS(m?&|LUKJNW~pJzYuzMS%&GiPSb%x`A$^tQ47vBPH$v#_un zyLscHvVBpP#IsqO2zz0+3fzQv=8;02CBtm_1~?0zAC$ z`^$KEiSJGE=N#9-UXF0+LvN_3hv?p%_Z>WaytTx{nC+r}P3{eK`g?W{ufMj>Bm`iu z1t2dg2l!`qus`%)y6?68-F26YE}c>Ou8irSw;|7gDI>E;PHWu6$AIr5Jg{~l%a&r!-s zN`H_^RP&DxW?o?URZn;3tloRX`-^;+-Tr#}lbUYOJ({Vz-S>cKiTTSs06X3Haq||_ zHg$x9nagqZ^wtFIQP~ap*BpPmeV;@V@Ut)dIpQDZw0Hb}jANcZlaT;FIEnf4gBQUb zOa_EAIjvanF`db!`@HVzUtuZj5u9dW(Pg=L?eabUeX}En(q(*tMK?nMeiYe<-+n*v z0CZLN_GKlH_x0Jw*PUaWo_~DMKD(muG3};;=kwHGUZgfpppjPNsvkS9k&^Z9efi~j zMt#ineL0Vhh>D6)5Bz$>544HdEi<+lo0;)4&MIl@o!;S1w=vsAV|;2$#|jD)4cR!j zMRgys>|_1!;Xfk$#|i&Q!GBWlpA`Hj1^-FGe^T(D6#ORz|4G4rQt+P?{3iwfNx}bT zQt;%Cy&FF}*pTh|wN@(Rns4I$<3HhIxk^_3>%J2QjqMK|V3SMc1`!NoztUSKnp#;mmG;f=4Xa z=gZV)v9Ar5Z_97|9L^D!61|{W+2lb#YWoRHpT*uG9`8lpAv(4j{JcM!gM(x3HOd&o z`dBV_sbKiGM-*#5%c!4`QTI`6jt&?ZEUmbcBGZ|vjbq5eZ`2Zhy(l$)l6#MD-;Cz;x zm#fL;$FSQ0wGW6Aa+MEOuZ}If(N?+cGkkUTS2^9E;&{?tVRw$biJhrO(s59zib?qc z=ypWK`kg@Im?8fNSeC$vpRzAU*D3y*)}c4Cex>z^VTU*}kH)~Ql#~wlM%>|dtTTDS zT>r?K3no8dpVsB$mT_<2+!;XK;U_I4P+Zgf9GXX`47aX`Q>3?a~QD|*RhUVoyxDK$anDtv~7Emqj4ZAN$kc)$k3KjpHvyu~9Jh(^f0UFmDN=Jh_z;KpYMV-BQiOYppGKw!wr=Q7xJ$knqwmm9aa4QgfrF>E zW@2m@>s~LI={9$088a^ChNP(UX9cG65z(c@Nkc^Gz?$mEPSN&Hzl0%&rW0R zK(cGA^Cu$yW?)7lv_<9M3k_)!e^pGdp|^Y1KD>a_%f)Z6_^fSj?(+((<|?eWk`t&GaFmdpmM5 z_iqzlXPjqcxoVh&ErQ!yy2BTzT5)Q(V7zWiJ>-r~0WkZo2~ zo0j*RSJA2yBinA!H=ujyjQ7ypb)BiX&pc-E|s_0u2x`yh|hr#tBcW(fbKaS|1*Yxz+k63szes z5KyvglZOl}AKR+TxZFz-AY?OeqhcH!7o=I2k9$|#WB6b~h~&CX0l;?VdNZX&hcR0P zQjwQmYEEB6J32ZNm$y>3EMJJ+@h}%q(~%(ijf?BwZLs}iBjV?>U|y_COMyufP&ZW5 zMHpVAJwa~toq~b_;_@=YZ+2j5hg#Y+|LqpNpcC!`GtNos@(sA-hS|Dhy5G*WFoeC4 z=ZwZhIVpR%(qLcY5$Uy%jItJwm7FcZ3{w*=pYb+8$P$3uItG|nEujUUSh%J4O>i-q z{_R~vbT%l&RCaRdAQ1Buxq=Yr{}<^9IFcw4^}abMCO)1IOW*JkU*_$2q4=(A-^}1I zP0KKf&ekwRdp!-r7$R`qt9*S+>ybIA>?DAf(Op(YSlA3AP1gm}_^h(qy!;dNUo~Am zEWM^Zm)l|vo|&%DmYQQ=78r3l9@Kt6iVBIMeD&gJ`HH}D*najtOfaKwXPZfUbYL`@ zgYD%{Z+qQGx>8{rTP1c)$|W{+vL#kkC`%w3;iG+5OWDieV|t^0T+n=izHq=CM29gr zGx+F^^kZk5u5~clt<(&WDzakSc@MkZ)I6|F(*V+l99@TNt0g5|mDqT_LVbrUis1NF z%hJ+_wE;RMt3_RBN4e#*c2y7P;EvcpohzYqb%PYocexdzM*SD-Gut$bW5<1{T2jcX zOJ47GxtXXO$bH@v)V$P=9QGRvhMm8q^^li}ubzSXTqx-)0y{L|;4}of7~lj#$CzYr z9yqTqojULf!}tLDg$|9Xok9!r48d<P zQaf$MDbCdd8BI%>S-C#*ITX89 zwazDy+h&Uh@`Wn#ts9#3$_S8s1u*inNlS3sO3BdmD)Q^B7be>DQw_6EthVUKR33*g zkH8O>)nXN3{x9s+`sjcd3x7whpZ1z1hMSUJ(|VWc5ka zS4%4+g~H=18SkmTZ0J;MXo9bXH>B$)%)qT6m;iv!q-#}X3xDtzMzuD}zJ0CxL}hX3 zHv{hIk2ukapk%m@_R9IxF-?`y}M_3CgExxVYP6Mykp102_aDr`$mP{BLz zza)rHe~S!g0S>;b}?&;w#U%o_sI(`0U1`iuY z@yRe%-(WeBcRi*7K~0UeI%^}x3~JCGGfCTiHu`k%MNt-2YmM3n`G?(F8>IP+`8z10oGmye=s>2nog`Bba*_@}<2b>shA)?PO13tCz&-gcD?=dsxGN zsKcD|58F>ea-#tl)wzKR@nEtP=q6)rPN2rf^4U@;^D?nROy@zV{Uy_rX`aSoJ8N}( zxgxQD`&O1W!c?DV39-bmfCAK-#v8M7+wJlTDPkp!w!awfo|wj~XH1%5@knBg6~Hw( z^)LrZTu+?LnBYOJaUijTP*jE_#jGyhL77p&Ks7+fA(;O@z;?iN`?2ZHZUJ1IKtHN# zB`jjjl_XpuInuIj-?-h1@y3;oOh4)H%>!svG^zLK*@P^o7WLtJGYpaG^2t4FYI$=u z%MmxuH}8I4^6uEy?=$j?%@gp@NWpj$-s%aM*5u$R#W!E@72nkFu}*3?&NO6?6ETTc zh7gB>n%bW-IP<(aUU@I}2T!-oF^cfg-&xE&y>)Glh!YswXiuHfCMTNq)ewLhRhZ{| zr45rWy+;Emr`UKnf~YoQFNG0PuaXQMh(FAU>-X$8Eqw*YN)PVCmOyz2qTyhK8UWj& zIaG)u5Q@M=nRV+jyR?M5+jBjHvMpJrtTnOOIJJ>}8^V4uLc0vY)h22BJR4FtE+N67 zhty>w0UTFm`8o7PJ*f}%@w%VBST%3Hb9`)`Vt<*WFkqlrO$)PqdoxX6*npt5YT3B7 zB!Q5hY3woWwaO@M2ogijO6vE?3yg0EZ))v)u{49m=?i|0 z>Pt|!-p%T7M;LvtdgqK7UUHwV{bg?QC$wBsPGSp%g|Z;^Ry;D-B_0DDl*@M_qY z6&4TgPA+0fNZl=J4X|h}H~!fpmaopU#mn7}&vNE!x{YU&z%wgOq<95zgF@)+*GKyw zd1^v!5V)H*UXMK8wK)>^TQE;#6yimo@3te3iUVR}^J7oEnD!wW->`5SP8nTly*fQY zuXu(N$ZS&Ho-!j%$GFpvHl74vx9ATaXvRBTWFLZ;%S_T8&$5QecN$Ui`>2^(simr+ zn&_3#5~GEk)!z>e_UnW?-U3)=t&v$kBqQ;$ugdJ(=W*YZGCKm~xLh1uG>s-Mx6`Ab z?<|J`@tf6~TX^Vphk2e>mSwu=%$0d@_rDnU-PwnesSsYBYZvvaeCLL|H>dNFMQvNp z4P+%J*GB_A5xs$849@_83;@hJ-VlrQE=Xh~`<1oWm!(nl6T zRDvhOMN+L69=yT;;?yQn;#eO=a0=b3@HEzw~;k9JNpi0|d)7hNo3odan#jDer}XzJZ9{OwH(L-bq=RYiVAA34KWB6$=WI zDup+{(Mautlbfw2`a1PVO3gV`@TTs;2M0I8 zK3F!`vhB~QyTMhvv^925J<#UX?j+t3>d5Jap?UJ1=cu1&S3&JB8%RMdZ=ja_&B+xL z<)BW!eKPGZ)t&BWeK=6M<4gU*Ttd+Gua@dt?T&pPUN*cp5Ln?FDGb9M6Hu0( ziQL&N+f~=1TJ_#aQ+B__)I=(Mbr@Pn*lNoc;-zP?pE$nXP^~u(y$@!|&+oiEsZgMr zLR1|f-iQh>l-C=yEbW(E5o^KU>vv58WVFUGnf_?oC)s;rEC(-r01nMo8yCT8t4`De zb4`?I`q26s=3DNGzFuSY-6+4_VMGpTdS!R{*6Jm5wrw#P_Wcm_!epy0#t_$=4!=9( z<9reA)e2#4PYvbSvZ=b*lNPPGbKYwgcNx>JTXmUp!wA5a#i7Q6Y#%QTq<6J8HzV-( zHV2WpO#A0;)**h#&Ri&2UNUReV)msfap9qG*EQkkQB4${p7`D}ZUZVlh3o}&g=^l6 zQQ7%O!uqVYAcC!1{5n$~y>Qty8G4re(7Si5eS# z#v7y*j=ExuHKWq*=3BQ6E?=o0EEa)kF)y_>4wc{W<9dU0U!WProqDM*4Ng=N&hzC+ zoR>Mho-!7n=^bQ!$&2Meqf7dr#prq&Y`XVGY}L%TR{gTJAo8%xjBy^Gu8{887QkK$^uP*|U;T&@9Nodaaj)5~hFVy5& z!%WpYgB*&TUAwi|M^2PiP`CbqUyj}om0b#;Wcc+|*SZsHS7$6*)ZIrKea_F#R`nXE ztpsP1q?=`IYI7|C`8T2!X|I8~`sfbfK)0Sj1gxy7J_3|(#t%u=d$#mcBJ;w$&IYY4 zR7*%zZXMJ0nW9EXH}y>t4&7Q>?e+}uazfi$*0`8O1%7P{K9)1LaR3%0#hSL1vd{$k zqOs7t62;;?EVA@jU&LsAEHt!n0mHa!J5;6K=GzWdC_;|KY^m;FEHDXnxuY~=VN^t8 zuMvdkwV%6+o$j~sG-~plyJ!&|Fwvpv*d>wv@Jf_H#PzRo!Z0;_VL%xXZzNK65c1m( zM5492b#Mkwlq`W=+CMGscHkh*l4o{XAs74=b^(wTlW52rz^-^j;UO z{2a>C2DzT@!?&#uWaGdpB!Jw^fRSWHW6i|UkM1E$Yi|gXDVhDSX)HYF5I^H8*#sVA~NUI zQslc=-K=5YB?X=SoFLLy7x6mV_y9wE^YzZzQ0#J*DY1+x*TK>72=i>1TZnT+-8j2B z<`eSpYurv+QW2^R?t^aB0s~V)T@*%=S524`7U`~e-Y$4Jd0a+e^qc^4Ej^?|T6R74 z#7bCpsv=7?&{0cRp8RY34Y+-g<%fOm#HZVA>T(TK)eoqQNBToq#RTz3Fi@-6u`WSfH#b72ltsQX z@w+XyXSuJqyIkCv)K+gx_31`2K>;=OJ*NGAH*F;C~yThR#E!7*3h%1f*DFRpmt zC9NTkQ(IElwsVG{-AzL8pyEFxv>mukF1EKG5OxWiWZv?R(f;T(_OWg%W-7#vk=1O3VcU84Z zNW(C+p>ivmVlc9sT?etMQBe;)AS<nXm6uno6z_%&tpN z%XN#do17>3%q9IM!C70@=Cow&zU$Q&0Ugr2IF5spx;B_6;DoH*K~?$GObmT0FX~K* z_wE9&*Ct81Gl4lPf^wC_+2vj!dk`TQo=pu`!(AR z#lVzFs2bDh<&{mH3cuyYHPErm`mwQVoRgQ-pH^*)y&+h7+KyHwB=>GeMP2&@Xd;uv zD}(}Gb`tsC{@$MWF4=X3e9Mb?{x3STUOD{U%8~ZSf(B2(V{&Y1nPK?m`uwl)TOZ<2 zLORTFq~&y)fvfT4LMBgFwBj+1R58)hVQn+1p^Wtf6PRRI{V!14`O5Th!{0gN%=1+> zWP1=r#&;whXW<(YM3Bl_)Z(hB*D%ybIG4661)c``B-Te-`XC;EFU@Y1%=G>I&9h*< z6CFA`OD7?U?SrZ0lMr2??;yC%rH+U<5COML{*COtD?ZnR;Q2 zc~Wy8SR}1W-!Oak#@k5uMUG>B&j7!B5NE2lg2-Ym(xw>}NJnI~^+JH3-SdU}$K?y^ zJ?-Rsv9Yu%H+7k;67yf_@CP!FU3o4@qu#vOZ_(E9i04x$`OM|FAA}4(`?lcPAn%>e zgjI@hSgvLPXjVrRvZj%}+1QauR(h)m=d9i?n57&x*q3g5Q#y)Q2Ic+nG>#~b9>van zuquki2De)=Z+!CUkcgGFc*>;sA|EMw>3X(8k6KJ~`dzjyPD+4a<;$+H)(Zk)F@Jua z_;j+n#EZWWo3H~XBdeNbOos_&_>=pp;)7=$+qT!lTJIesi`Cylo7jEXU5wC4$83=S zd`5cqGCe&~`y+Y$o5!Q1`XaPfUzyu==js#jRmYidWZLLjZQZH$h3G4gbl7zsQR)4u zJgw1R9oVKE8mC@IM+MMLY&%yo7J?u=ThXxQ<)ku0ro#0|wM&dQNDN_m=aRy(-nXjZ z<>_Km>-wRq`sA7C-QrW$T(2?PbDk#bT*A`r-Z&$bJd5V>Q;MYMK=t-7-M+M;4#Rxj zzwxK8Q_g~dS}%d67L)`V!F{D&*y*ETieD+R9s|ZbDu}kyn8R=DLAZwQ%hw6P! z=R0@iZOdyno{A{-hLT8M@`e6E>ZVTkT>2b&0M&6~gfdC$Y6yz66{f77D?%~i4MHd1 z*o#Lcv)g8q-&m_PI~40>eDq#hn{I6A2Ih;?M?>X>dW5chm3J$!q>>#-x#O1QP>|6q4^X3BP4`nMV5hRrE6kb$R!ik4} zh#U5@C?}CO!egZwX79bGSu4LRUY1@+##V1O1M@RIGjvUvr;}DGUG#qWSS~JhCU+|c ztlka4Cau6@Xfy>hiN01-6kYdOte$VZ6U+WR6uAve#4hxxxiVhvfRu^x-D!7&*d`XOJXSv>)Zcbu6Bf_rCAqULwZ~1^+Y5)X z9d!Iq!4n&}Z&H4un&S+wsriS-wnx4H!_sdHKN5zt- zX#s3Yg*YYvpD_cG?Z>`Pb(Poq#IzmH-K0WP+t1zF{mQkIZSD3;GU;d+$LgMi>(p!# zIE1^aDfUbNsT%uriqNt{Q$xyU6v*}d?yxG~%l+Ux7{np16Q+8_Mz|!lM2bLNF}DFG zQ!lj)L5h@TrdMcI0MFp}Y=TckDuilV-^KE61>u6gLu7qm>X@5wZ-+uK23Fk-V0Bc} zHB&Ob)&qY>pHt~4Jx^W&3Ra-SCM?*-#L!DSnp)Anij~|c{cM+*;!%_EX{Ci{BYJn` zyh%ytilyi9k@C->#_?Z43BZ#wh>M%?Rr{h>1s$S|pl&^eA#9}0tntbmo@!TBy$_1A z`_F`-ui`@3^TQKAk6jZ7TCveNyI02+(?1X`4<5!EJYCb#midmGO!7s39b?zocsp*` zXr3oNaFRTOD>N&*YkR9o9lyZf3+V1s?(+J$Q4g|5&pAu6hT!#c&GKnf0$&l$;DPq$ zR1V%jyhRXc#_xP6(8h0|3$pjmB%=+ZKkEZXcYlNf?Q;)|e{iPp z`vv4ys{@c}?#@lk7j!@&`QVo{8TZqN-@o{*6vUd*{7mDtkIJ0)U0;j>d8NR*)K-=v zKR*L+02&p^`c-Clb!wIa=6RlnTY!y$&TR8yc?rOSn+`H}b8sAMZC4!CdYrISoM~dz zD*Kwqg%^m-v0dlk1whtYq)lWM<4o3(SjFimI+e|kqg?53OI1QV$HoViK-gY_y3*GGT!@Ss8HQ7}Po;Cov1e^!k zeiNT}+!!KYYV(aiG1`bTDYt$olAMd&>^fM<U@01OGxtUrC zQ~_hvyC<0`0#?L6#L1~S%5yDW)X-~Ypz=tmT`0bJ6YdjiuUkhkP|Il0p2u5U&wV}J zoE~llE6=vPxL6m6qdXkFwcBy+$YAkure zLR`(hpWpoS(P9)iT$2R54)kfhBZZWyeFdAe7rYu3cwiJ38XsP0-n4%EjD}>y_Tluz zwaK?7J&rN2@Va&Mt%Eu_{6&CL*qp30?fLYF^En1rqywbjP-r9Rg1oxLGK|DfNeue14i{CR$U zI{cP8GXRb|4M~@;GOCD$WcZlFbl%q|y4K+wRzJ_BB>n*REzMbB-j{@9ulAH6sRDK- zroA?iw6=NAv$dDgjM&&%(z2ytcbf-z17~u3&B0=5GoYJ(Dxui+QrYmN6S=cFjsog# zi3@oPON$l-!gev5F+rDm9hBM-&E(0<_VLXmHOosUs8YCStedcw%0st{Gs+4rmHA6p zY8*Q*_v;=KE>f>lhYWZ5y#9GdfJ##P%FEq$PS@*`n{)_SD;Q-TBNj_$vCHL?f*rI6 z_BzI?tBjcaa=jokze0m6Zz;dzon^zedL&4ESS8b(GTVOcG8d)Qp7YjZ zbGy|e{l06$?cb(LKJ4$J#|9o0ZZO>_qX^}Q{pn-M>3`irdzUODr^DEVFFZB|6HNj- zP5by-Hri6F`r23Gt4r(0qZFD_bhZ}XwGD<>9ZxI%Lc}m5jubW)6V-3OibYzO#|MtJ z4aV}+7aGG3e$7JyU+&poy}#%OmW9xYApIgt1b(%@4&&p5#&EA|#9%XpHTf<2EE^@~ zz3Q2uM(V!zgYmFhpr-aNy*HnkCU9wcAbxwmFl4J9kS^9T_{FX1;D~-zNZ$90h@)6F zOx5K~{PI_~2Emohd)-o46{!=@?q%#IO&w3$3!!s41W0ZQzOP5R3$Q-IdJ)=>l;8?p zRL*sJKPMC$23+(?wa7qXGd$jpI0rYUSo^E6ea^ zA7wFTy={ft{8BiHQnKId^sAFqORF2N-ZA4IL%Xk=oZT`*F%OAvtGyNqs{`!V20Bfi z1f2)*_{Z!RJm#3cv}~%~>v0jJtRzB;JSKS}KRiP1Vaf}?c_EWMTl$sFT3&$`U09Kt z?`N86G+_`odE|axy|i=sM+@WFK+Z{nkaiZ-veo0?rW1l%S}Uquq-8TsA@|2B9#|<~ z;i}4U|DK0sf0Aun;Wez^N=;8r^05m66dKGk(KK6$jjF!b4o4~b7WOp@e>eH)}5d9Da zaZI+a5c1&ql?i>hnsoKS(h$Z4hQbda6ur$8nNzzIS)lsZCbi@3mt|HLS~Fa02A>aH z>GU1K1F(rJ9-YZPT@kiSoackzC+?#F;0D@oZlsv^P?8P1R8>AtQZR398_z5ZJ; zbk_`~liHrABVMj@hs~r)KkiC9xx_(`4Av%{n7yri0%pePkPO+!1p83qIGL=s^*bx< zee=UVavS9iv+|UyGjj(_(~T^Qc{HQ+tET6h7G!(wx+YtgMA!B*!MSm5UoenuZYHcr z0noE0wE*ECd&f+^X>?q!6`F8@NoQ-JQB5yj?*@Q0+6&zZf zi-hz;H1Y&Tanf7N4Zz`R2+k0)RmEnB7Q?h!?alO66+vS^?G&P{>|Cl%#{AlibUVKN zT~rdx4?XU9cI-rXy)9IH!|#_KwyxNZ``;S?Gl%h)&SOLXrpl!jWzsLV4gT24-H(x?=+U9s$qk0v4Tet(TU zxk$mkI`tin*~hAXU|bhUvY-B3J#!ZjFgJ6L=utClwC&N!`MSm2{f5Y1gzS+h5~?@{ zT%22e3A;vj@=-T(?RO$p3kZjbp-Ev8IA*-XnrB$5X9sHr7nOPpA*Y7uwE_+zac9of zSU%0$GBJ+XeI4sJS^K*CvJt3xTX(a{1m*qp(}Vrz*=Y`kpN%VI1ptTlKinJ*CE<|l z-Gsp|I@#(`g=P|`@EMbZ4MxF9cTSffKPpCP%`b4}X+*63*fqyQx+v~mRK>ML&t`rv zZN-P`Wm8QRrxhvH9lSznN=fIvY(AsDXWD#b}OAV9tY7RS0fu@_ZYQhP+I>;?Tu#5knEiKu1*I;daYg(TK$oC^_A7 zjIX3KX&TI^0NTaTTx?WEyiGTAbT)Iw4c|9H6Jx8+z9a7;uxX9nm3G@}JS4dv_Yn6R z4kgAi$Vh50@yDXD&d$vOV+SN&2g`=;Gl}~))UiDu?=jPBQEL}+sSG1X1zR)kD-LBO zl??B~k}D01O(p`1f~0yWwuKk^8Z${c0QQV+&}V?f6`W5%l-p0tj55MjVmbj^-;d(qZ%^n)698$ldYT*77me zvt_QIzTDyv6@G&b403ERWLkIHj0IiJPuuJ9G5K{N-uEB7QbDz9bD^|GZ+`_}Bew1K zz6Z+c&nz6(jygsu?sp8n$ZljoUb-}YA_Y4c4nMIlmbM10tGYlD`3{@CIn2z*%dh9M z9}Wbtn)6ggD^d#~lV){u^xn`AM7v_9{EL%ejdkcbcSS1xxB5g#wa|KfbglS@Q|oLo ziU%}O_ac|oP#kJp`_Uah&#%;KkHL_bvorU?Vc^lb-QtmFklQit(b@Nz^myCtfuh&C zatC`W3WI-y^^@aU+xS4XZibkd_SAs0AsPJaa1sw_f^^5OEFTH(1Z>l2w!xcUU8TE$ z9=U?sb#5f*&e=Tra#3EBq)my1?7B^hTSv3WzIB$_6A!Ny>3?xLi*jiyNydhVw^*gR zSXz(?rfw5JDSRSAf)+b*N2imwB)A@W+HrD(*zp+sJwm;({i} zBuo+O`Ml>h_(-EG-!h-o-!^(bWE5&*3WCa7KByrAdN&@}Bz2hY>}W@9MHxI2 z4iNS1)%RLlI1$fB-u??;;pPX2al{0xjGa&yomp|8oW3?K076dK*UmJpw~gkuphB1maq^u zYax~OyGGk5O_*kbFQ{`5K5&SGMK&vAWcFC@V1Ktosa;4>vqzr*At7C>(wqiC z&UnqW2km0~ZJQjgA~q*urvp`rO(+wJtaW8pc5M3>bRNo$U_4D41J*~qw|nfS4NPX| zt2*Wj$DS>W`MsNyMDKd-<=SK!@?~i!_Y7($)p~xMoA^4m9UqskF)w1GGM3awX$g=E zCfl$#QL}sd7^IzGdc~%qYv05HS6o6>B~en1quxg|D>|h&J?O#3k_M)u*R*1FDf{~PfPVl_O=XS~S*(n> z>gzK}E$RYLN;YLzy7jLytv7$)d(CgI!(1-SJ56`@y>$1=C%?pJsK~GeMhgw6`Q1)p z1vN;quP-}V=I>W4=i~Zr**?vxzOadLgAFRmd=<%#i(?_DS8fmP$5B*X6s zn$r<)xLeZ;g(@4Z#(tBLoDxfGc~;g(Ip`wxrN^H5>&*OqhwjdP+zd6N7FV3E^l!U! zV?_(Hdz$B4Sr@sxo7I{jihN(@alMXpn!9Dg#!TbX)6L9}{w-wRvC3^Hcb}K$kT=Y{ zI0Dw@y9|7X<-YIso$PI$emjt-@{SXD&-emLK)Z()a)J3^-o|a?jtU3tA(qksJCK`y z5ubh0s&Vy8d`Z4f)9B5X&i{L=zm6d+k9%q@#Sa}6(_m$tPwXr7U=AaidHi~SneypJ z@mcdd%;+(B@Wm?vwV$8?y?XjzXjgumZKmTBl{&&-y~nd@wMjyknH1w0h8oCC zIC*l@sy7i;_xrJ3b)&_{p#Q^E|BzAs1Ctt)cDzleWcZmeP+5fY3ZT=Tw*vO+7A*lqg;WPAZ&Q@B!@Q})e2 zGX`2ltNrdof+m}bm`Z>PeP+lMo3j2I!+&A4CpYaej>EJqdi&^2x)bGDMHYcWJXhYF z@-jBZ%39^_9xYvL@Xa&uni%lEh>qMWE8cM!Pu{Gj1~9prPVY~{dnPM`G>#Hrci_m|X}fwB}AZ(XTz^J%#I!1-|wUf$~O9E$%vt!_4Twf>Pp zLy0*&Q-afKK3{Y%n5jJzzj|PAwW0&(TxzrU=C2%UP)E(c(Jj6Kw90=~7;=ZJHTvzk zi)6X5zRdEqCv8p>?Ppn3;Z1JY`#shiJd*oMaR~Y*qNouMFG;q+C;gkkesVJ#51V&E zG%fXG@dP41w%LiytnVVkZGpu^S?UdaCp6PO_eM7Z>oB9GRF}aSc$50_znuj9)Ei-` zGTGibG_8_Gqt95ZFbZtkJC?bbDvWcf=k(iGKAWgJG6a_ZHkGkwKj#Vi14pXWN9~L} zJD7!CzV08yZ!`HpHcR44o#)YR<`r9X7{5ZLmUPxiS@cim8d~+I|KNoGeK?xKywMtq zz=c@aTmc17ph$_(SMbxhv53=DaZzS^IjaT~5jldn!CnC#SsgSQgu9`?NK#+^h*tft z;t#veJ4NRASMh0-)VPqJH|2HP5p-vcgQfJ%$cV2aJN@-sZHWtg22R|E{gDv&Pg{by zxT|8fwQB9`<{$WvBzqDjMTsti_~x^G+$@62LP}cAA;9wOFYfs`Xw%-A5ozM_|GS|d z>xn7UEh3HMSAB{7dn8iAQu9YbW|Re@s}FE9If>=VIp<0upN#~W3Z9|jyWNl$G6c5< z>$=9_;^Ke3af|X0*7B3C~h}Y%tb@4O zTpEZ=7DTJA#*wwWt!IY~Ij8H7y2`PlF_*tk@dTUL(id=Ml_VbH&B})0R&^q^dv~=P zK}ViA_Avu)eed62<0^Sm$EK+3#bQ`Ag&P|H9))HG_l+IM@i+IOx|NqO>_ zt_tJLi^{6e^_7s}q}{kk=re}=PG-!)F=ml~iEIC0e8wyv_&P`wcvXK_8}x=?9?8iTt`EG{NNjn0#OcUUgIQ}*fZJrI(~+HmEmn%K-JQ3@b+fOAnH5>&m)Mxxu&MQ+MfgTI8Q4j4M!pxp zFAY=%7$CNmGNwN-Xg^N?mo~28@e0J; zP&Ijg)JKZfdWm6t5T9-h$vTI1!H4^mwC8`nj@FhsfBrm^NDp{Y zh(Wf^AZGOvK)7dtkHOfPZ$Nav+_LftV$NpCUL81cS*YLU!}>P9D1V()vE~@jbhQHf z%ct3em4(TcUaq5G7rZ)L5rMCjf?EPrMHB~H{IYcrQ|{i1HH96uMOeiH7mp->4(>0) zCW(3RYRIVMk9%Kfq1n_(1>a!WWD(vSF(1mukL3^wvKrBA1;Syc#JNG|O*El_Ln+}m zc$5%RZ`pAq4L{Tfoq%R0g;>gS<}f2{a<1>59E0K}yQeqYiG7nnUwsu8u=>k8(I8=C zBco$D3UZowA4JZCFtz%2a$D|Ge1xZAF3k)pPNvFfWOtK*FA zZ_Q=vlZsuz$uT?Hz-gP?LA_e?p}ix08<_&Va~;d;!)SWoeAs>r#dl>Za{Y-9y@`^% z6;k1|x&3-$KGld6brOvMz4se(m&m-gC382ZziUfoyb6`Jje`yjE-)lchF(279;`E@ zrM=M64RpVOljZC7+*AgaO z!iyTD*=*T8rhOgr_mvxW*6h{FWSWDx5?ri(8mxfK!biAT$YU#6laMahLa_&V%R{y`X;YIunGX)_U;n!1Q)~BgftMTvq}co`0wn zbRK)Yi;5u(xzlUb$_dthCjAT^-ju>-{r0gb8<&Lyt(Mx0V;w?e)ANV=W>Y>E_m*sF z`Aecm%Yk4+CMbyuEm{?UtR=7qWLh}`z2 zsI*wkcF^b;NtXwCeb4sfvi&^eUFLoMWO?aqT~gIVZ9C+qw$vxc zM^*<{#2vQr;MoDet>}dYzu}$k@fqIezNN!czm%Rlj=C?f&KbWRjn@iVm)3Sgt=}Pe z@?>3#rmqfGK}?oZ>}Na1yYhk#^#gaFya|ESi|-m$O6ceqvYA)vHXj_Xx!qj5xxr}O z9D+BaS|DGF9nZH>`eAez3D+k}eP5Z?ad`6aY%A+j0=Aj3hA1Im`SDiQ_T0Gl!0gh- z0GO|7?chVEtyF9)(k3XfL2yPUw;{iJ4KexxaCo1YY|^OaC+ z_u{;S1k)Jvi8##{c9w6EE;pg!9QK5dokr5QytBAyRjJ$l(oQqXUj(bac4o}WZ_c_o z&fAqS;)DUVqGCxYVXSG~%h|!NL3z+LTiVYQ8I+YyNu^sbiil$)HNI6qFLtUsHLOwx>b6>zC|BBT6QA~5tsVHuZ; zbN7&YvhtgqY9@3W29~_Nm5|W#;qZ(Sr}f#?>Y z_U&U8n!czK{)_t-60X*0oC$v_VjLfzSMe>V*VR|L*=k7Co;uf0VE-JUe0>jngZh5C zfSD?EocC?GSK2RyD_mhh-{8F;)39$lG*MPT=h{fz{j+2=Y?Li1d36%S8Sv_mkKNd|;8V^&E&cdQpOsEKX=~eZ%QAwGJ)@Z+J))aPd+Do{Kjvj&wl0h zAsgLt8qUgi>x?h%C!TatI(&F4J+$M&q2Ga{Hr}BJH9!Ic7Fb|qe3mRQqUHP^k# zzj)CV7o{J~0l>%i?oF@x)wiTpcQUx*qBGM^Ui0j9Xlg2b>9+5rCwA{$A^wBfO#5+A zlFPN7?>Y12^zVM`WyR)Ql$ZbYAHJ{Yrbck^KmOFK(?kxkJo~b9(@*^NpR|14Hf>

}q?ZB3XxyWx7ddqXA|L=b5XP<=8RT0~tG1e@H%n_b@NUbuYpdJ5 zrR=-gu`cWKahZ@a&O9rvS+_2I`&)OWJ-c^zw7r`)Z!YRR^6^d;%SGqzrSBvcoOa^OMx1xrNi)m!h4W55u?YS}`jd`7HmzT~ zChgw4zh2Dx00iul0U$1J6ASZ)RA<`|eRp;Mw$Wa*^3BqsbgT46OWplD$hNxcd4-l1 z037ZeA1{c7n(A%W*9X;a*={+HcB{)}Kh4t0yak*8U%&M`#UB{e4h|kXkaj%yV7mFs z|Cp}-{6DP71NIj``O@@)t6!QfxbS<^+V$%So`~T+c>jIrA8))q{pGv=ET55cxXPAR zuUV5`lMmEieCcKBlqVg%bj#ko`_f%^d^7z;u5-sXZ<|#oR(h>Bry&Ug5xC@>Q`75z z;PQ0&1!vA_@3>>ur?XBvK3#F)ndyx$yfS_5uKUs-UiHqo9zdbv1$kv{H)$`N$|G*2=V~;+X{^0liQ`6C{Tem*F`RD&-+O%nN`q2B| zSG*@QEjWP0z~VCtvo|bn0oR=g*`3KK$VQ=~Ey7yY$!B zePBg?J`Lb$rHK{-KahX)5%2E{Jw5Y#&q>dH%K7P|pa1HDb#>nP7o`9A`~P3j{xAI0 zKTr35=k5jTOTz?0pxNIPhYlS|4?VOa-G1Ax>C^w~<0;k`Yq}(VACJ%J>p%awbl|{& z#p-tG`}x;zd~u3{)-gTlIr+zKS6rC>j@6BL`(C^7r%;k2`v)!T5V*s>KgTPsu+{ET;=jKPmscaZK73e{bIRNIJaC ze(*6We?!=h z$6fpL4;F9z_Ja%ho;qtF%XGy)SvEVi*|F|OD}!|9aycLLhS%GzuMe`ng=~9}<6Mz# z2>`Ch-QM*^$BVd}x?L{oHJex4YL>s?X=k5%L2+}~dPf&rba8sl_y0h8(QUV+-~G+s zNc;Bfs~1_e>(6-BbJ9Qm*?(F5Ay(bUI2quilTS`B`N3DD)6Y0F{ny|B&uPz|#xG{q zZ`hFj)vx^9bnf{VR;v`t>(;GJ7k=->=~sT^H`D+8uYXV+h$sv7TCc2cJ~)Bczdw?L zdU5HU__b*#(?w^Toc_x%z9GH;@BcCV@rORsNtKy0oATLAKmV`(&zbddVRt^u^#1$q zO`rbzPvo;l?=6#in#aMGpLp}n6v4j;?B8?u-RV1bf4ir)R!XHSpZTnG_Ic;0NAdy7 zR?|t_x2MaVc14lBY0KtT#iaKs5I>Ii#eef_>GXUSb~zRA!zXP|uY2P^NoSpNZhjyB z-7?FZK;Hs)-T!dkZFJhey*nOlTlA$be`UJtDNk)#<||+RQt<FRH~Q&F}rrx6^yy^=Ik&fB0NCO)aaklR4n`)33TJUGsfUZn|B+`_r#! znqE)*l{a2JleBZs-t_zL`MdNFH{UUnR$u7!vt{e?$EWx~?3e!Wi)m;6QCzRna{r84 zs{PpN@5t(Y`fva5@28zR9~;@Qu4>(y9y9eRv>WG3fX6k7N(mek8MY?Yi_!zw&EEwRisM z+tOY6ic~9QT8e!Vw$=B@Pv##k{qIkGat`?m^N9jiT=|T2_qXp#?|9oE&&ik2R-m&3 zZL`m`i#qjSVRX_ez3l*Gu3Uk+@9-Q(8S^Danl{HH&e{`e37>p=S(*2bRm{m;(D_OC zTUx(8JmXUrt~Br*AASCE9Dfww=iANg)1s`;DLY!SwX+ zIT~mv8@lJAN7JqO48Lzb@NkMtd_L*KkKYiv*zqscAYp!}~I&tgfbnPdCJJ zKWdmLo=-a-d|)KD<|lvp=VpR`U%lze`9R@k(=o?vN-uxS>(ZJvtJCFIJ~KV_@+;C8 zZ@7LWw#OicU*IdZ-;>^#-^XA5yw-uYL2O0z@zp!q|G?w4(@$^v8S&U-jRUgJ$!9J9 z+%Nu8F|6PD55Mkxeh@oI8+{2JIIur`ZlzAGQU?Zos`zwnFc zKm6Lio^utAzB+7D`S=sI&7`i*-?vN+flc`gmsZmS`7(F^?O**!`p{>-oc`n^pG|xA z^?%mnKlzEDOxL{f)w8;cGu=+he>45^ul~Dy;Pj7*A2Q4;utHXT_ytdI8T{*&U~|4| z&Aik`Kkp6>uPW1d_TA+&Y!-!Wt=dyvfe$ug<(vQFFSuF#A^?msCXMA72TF$3tjbn0h zV&=Qx2d@3gS$WHOWvTW_m{#8-PuRAtX#nulCq1dyFKcpu*3?!Yj;fY{yS4>o5?BlY z0l>vj)<;!fp3qXY=;AH^{m1?`{l&Z9G1K8m+fPpa_P731zI4u};)~<^-t(^X=%cgm zcQ#XanJmQFCa-_fkIxDI#ieTEtf@24Iy)c8Xj~RzXSVp84}GxM^6!7))pLS>2M-=f zw|?WRX>xKh2T?D~^NFJDb=UsI%zXrVt+!0LhiWt4{EFwz3I2T~Ukd4uKm5Pbu03vuSPq6?WWnGR`iG10-+w(H~E@-Fi#< z+D%{SsoiZSHV%M2_T5Ju6z)lI`Bb{{S^7f8^1J;t6$yv z^_$c0{q}#DxsTc1cilO2X2&z0{agXSq2HUMHNdxi@YDGoS;sZK4D=wj?*2jx#Z@uc+U`3#(u^lS1a z9Fi75;8UOYczXX|ymzMM4I7S0znZUt5kHhW^XzldMHgREoUJ-jU;!4seB%x2mal&` z#g!0l%(pWzbtVu$YJ0`AFH6t4?ELgUuKi^C`+vNpvx-eh#U=k<`tny5IlFf4O7H!% zx2NyqOA()a&N=CIKk}yhL!PxWKT?ZA=jVG>zvBOA?=0Y?s=hdWV0Y>6?rso8MM4l2 zTl8=HH~w~uttfVPcPEO82-2b;5&{C!-7K*5Cj8Iu&feKKvoo`kyED7L!)KWnx8C>8 zy!+lg_ndR~IkI8>I)SB2ETk~%2)5m@xQvCA(Ra^&-P_2gV_joJpgR1GEwI|FS=}|Z zB&+pPBogWv6-ix1kvAUtaqa3=8spv5r8r_{r*7LO(c&M???h4bQ=mGJ>eMpO>4?s? zZdgZZsf*s!w7mtEGx(I#@+kld%oODW@p6xhmp(yQpH5x7%7S^}&Ba8cdy4sUI~9b{ z_>!=Upb1a`7&Iy-41++h%D!OJh0%oYvcNsh_g{ahlSEgU0vb1MR_qmkefkej>ykg2hgVgqzQ!BJMxdPtDJ>>o6aoYTDoEcfmjHryzqPdw?AuoZxq_=0RtEj+h&9@ozu5(tw3 z;x#>d-`!HRYBkBoNOvp$P#oMGu2B~_a1GkX5pOljs+f%gJP5#r=A$3}Y}`9Hty9C} zT%FkNhy08nb7$Kua z{b&#KlLTT$VBfyI^5J`L%l(f$Vd`k8@mz5qkEQI{vs)e?J}j116zj4P^ZMTZo+N{h z>LjmxJ<+c@vS>pS6WUp#Cl>B6X3O0ea(@7PhT&zc#xlCf-0pt9rT9vLjNK-UuJTqxzA zc+#mwssJoT&+S3ZjCr{A4AhN0M*<-epaL*tWC@ue*qe>LxKPvEeEvRtmFMf2zx+jV z99BtIYN`3Vw_rtY^%^xyys{jPJrj%|=3SL4RXyT=r0B}Ry6ScmKI-@E-d$iZP@dJ% zmFt)k-m!gqf$4)ufK_cLo_v}|(m69{xRrl6k*z-2Uwh$Msadm@Y|D)g)~ok1Qlm!R z>U&J;y`;)PtNcSgtjN3j=IaC#AT~BnxcN{XC3*zl`t#~D`ne0tI+!E(yg5=uOayEQi_HE z9@?u_*ZZVS;s?_YxUW{NR!!qSt`EAwwbiW}EJn9%-t4}|1fAI{A?}6s8#I)Cd-s}q zve)T+yWzAqUm*bwU|jGesd^8F0N!Wi;YzAnvBUKYL^j zVkZ>-mhY~#G&3dyQM^e~sd8nb3`IK+9y}OqHl_=c09@Za@b>rW4(|e~tZ{s!A$ty_ zn=+%}R?pcU{1zU6Xt?tbw@D!G2&`U_7n7`E!$v;aXYY@}jz2yN3GrZI*NHKweEAAy z%t?fMdH2>$+b$kWBS(609`UiEIcK?09>!SgzhJ@JERaf!xRchzcM5 z;}3$rNQGlm_ynWTkJ02Gt?xwmMEvJ$s|%q{IqeKVeB|+Ce(|5s$C;hG_sjB)+kBjf z&LJ$&3RX@$`BZtkgoNG+#3Y{j1R*Cdc1LU8G0=6FpmUg{@?H(;>sTa6LM<=U^pUiU zd5eeu6@WzqK8Dreha0MdlgD2jk(3olUVrTg`?$Xs({>#?%J~;xDotCoGAla|=%m)d z`G1=@f&2IGch?6+-DOu@E46CZmLI_I(6!4Y>97V<%;F*@_cPz!np2P|jX>U{yf^$ly+%Ce

>53fFRoHEHo+FlK!kw@PY)nm) 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: Pr } } +/** + * Copy the fixed demo default list JSON into the live allProjects list file. + * Does not touch any live project notes. + * @returns {Promise} true if copy succeeded, false otherwise + */ +export async function copyDemoDefaultToAllProjectsList(): Promise { + try { + if (!DataStore.fileExists(allProjectsDemoListDefaultFilename)) { + throw new Error(`Demo default file not found: ${allProjectsDemoListDefaultFilename}`) + } + const content = DataStore.loadData(allProjectsDemoListDefaultFilename, true) + if (content == null) { + throw new Error(`Couldn't read demo default file: ${allProjectsDemoListDefaultFilename}`) + } + const res = DataStore.saveData(String(content), allProjectsListFilename, true) + if (!res) { + throw new Error(`Couldn't write to ${allProjectsListFilename}`) + } + const now = Date.now() + DataStore.setPreference(generatedDatePrefName, now) + logInfo('copyDemoDefaultToAllProjectsList', `Copied demo list to ${allProjectsListFilename} at ${String(now)}`) + await updateDashboardIfOpen() + return true + } catch (error) { + logError('copyDemoDefaultToAllProjectsList', error.message) + return false + } +} + /** * Update the Project object in allProjects list with matching filename * @author @jgclark @@ -452,7 +484,8 @@ export async function updateProjectInAllProjectsList(projectToUpdate: Project): /** * Get all Project object instances from JSON list of all available project notes. Doesn't come ordered. - * First checks to see how old the list is, and re-generates more than 'maxAgeAllProjectsListInHours' hours old. + * If in demo mode, just load from the allProjectsList, which should be the demo list. Don't worry about its age. + * If not demo mode, then first check to see how old the list is, and re-generates more than 'maxAgeAllProjectsListInHours' hours old. * @author @jgclark * @returns {Promise>} allProjects Object, the same as what is written to disk */ @@ -462,31 +495,38 @@ export async function getAllProjectsFromList(): Promise> { const startTime = moment().toDate() let projectInstances: Array - // Check if file exists and is fresh enough - if (shouldRegenerateAllProjectsList()) { - if (DataStore.fileExists(allProjectsListFilename)) { + // Demo mode: never regenerate from live notes; ensure JSON exists (from demo default), then read it + const config = await getReviewSettings() + if (config.useDemoData ?? false) { + const content = DataStore.loadData(allProjectsListFilename, true) ?? `${ERROR_READING_PLACEHOLDER} ${allProjectsListFilename}>` + projectInstances = JSON.parse(content) + } else { + // Check if file exists and is fresh enough + if (shouldRegenerateAllProjectsList()) { + if (DataStore.fileExists(allProjectsListFilename)) { + const fileAgeMs = getFileAgeMs(generatedDatePrefName) + const fileAgeHours = (fileAgeMs / MS_PER_HOUR).toFixed(2) + logDebug('getAllProjectsFromList', `- Regenerating allProjects list as more than ${String(maxAgeAllProjectsListInHours)} hours old (currently ${fileAgeHours} hours)`) + } else { + logDebug('getAllProjectsFromList', `- Generating allProjects list as can't find it`) + } + projectInstances = await generateAllProjectsList() + } else { + // Read from the list const fileAgeMs = getFileAgeMs(generatedDatePrefName) const fileAgeHours = (fileAgeMs / MS_PER_HOUR).toFixed(2) - logDebug('getAllProjectsFromList', `- Regenerating allProjects list as more than ${String(maxAgeAllProjectsListInHours)} hours old (currently ${fileAgeHours} hours)`) - } else { - logDebug('getAllProjectsFromList', `- Generating allProjects list as can't find it`) + logDebug('getAllProjectsFromList', `- Reading from current allProjectsList (as only ${fileAgeHours} hours old)`) + const content = DataStore.loadData(allProjectsListFilename, true) ?? `${ERROR_READING_PLACEHOLDER} ${allProjectsListFilename}>` + // Make objects from this (except .note) + // Date fields (startDate, dueDate, etc.) are stored as ISO strings (YYYY-MM-DD) and left as strings + projectInstances = JSON.parse(content) + + // Recalculate review fields for all projects since nextReviewDays may be stale + // This is necessary because the JSON was written at a previous time, and nextReviewDays + // needs to be recalculated based on the current date + logDebug('getAllProjectsFromList', `- Recalculating review fields for ${projectInstances.length} projects loaded from JSON`) + projectInstances = projectInstances.map((project) => calcReviewFieldsForProject(project)) } - projectInstances = await generateAllProjectsList() - } else { - // Read from the list - const fileAgeMs = getFileAgeMs(generatedDatePrefName) - const fileAgeHours = (fileAgeMs / MS_PER_HOUR).toFixed(2) - logDebug('getAllProjectsFromList', `- Reading from current allProjectsList (as only ${fileAgeHours} hours old)`) - const content = DataStore.loadData(allProjectsListFilename, true) ?? `${ERROR_READING_PLACEHOLDER} ${allProjectsListFilename}>` - // Make objects from this (except .note) - // Date fields (startDate, dueDate, etc.) are stored as ISO strings (YYYY-MM-DD) and left as strings - projectInstances = JSON.parse(content) - - // Recalculate review fields for all projects since nextReviewDays may be stale - // This is necessary because the JSON was written at a previous time, and nextReviewDays - // needs to be recalculated based on the current date - logDebug('getAllProjectsFromList', `- Recalculating review fields for ${projectInstances.length} projects loaded from JSON`) - projectInstances = projectInstances.map((project) => calcReviewFieldsForProject(project)) } logTimer(`getAllProjectsFromList`, startTime, `- read ${projectInstances.length} Projects from allProjects list`) @@ -498,6 +538,28 @@ export async function getAllProjectsFromList(): Promise> { } } +/** + * Get all project objects from the fixed demo JSON list. No generation or recalculation; data is used as-is. + * @author @jgclark + * @returns {Promise>} array of project-like objects from allProjectsDemoList.json, or [] if file missing + */ +export async function getAllProjectsFromDemoList(): Promise> { + try { + logDebug('getAllProjectsFromDemoList', `Starting ...`) + if (!DataStore.fileExists(allProjectsDemoListFilename)) { + logWarn('getAllProjectsFromDemoList', `Demo file not found: ${allProjectsDemoListFilename}`) + return [] + } + const content = DataStore.loadData(allProjectsDemoListFilename, true) ?? `${ERROR_READING_PLACEHOLDER} ${allProjectsDemoListFilename}>` + const projectInstances = JSON.parse(content) + logDebug('getAllProjectsFromDemoList', `- read ${projectInstances.length} projects from demo list (no recalculation)`) + return Array.isArray(projectInstances) ? projectInstances : [] + } catch (error) { + logError('getAllProjectsFromDemoList', error.message) + return [] + } +} + /** * Get the Project object instance from JSON list that matches by filename. * @author @jgclark @@ -622,6 +684,7 @@ export function sortProjectsList( * @param {string?} projectTag to filter by (optional) * @param {Array?} sortingOrder array of field names to sort by; if given overrides the default sorting order from the Reviews plugin. (Optional) * @param {boolean?} dedupeList if true, deduplicate the list by removing projects with multiple 'projectTags'. (Optional, default is false) + * @param {boolean?} useDemoList if true, read from allProjectsDemoList.json instead of live list (optional, default is false) * @returns {Promise<[Array, number]>} [sorted projects, number projects unfiltered] */ export async function filterAndSortProjectsList( @@ -629,9 +692,15 @@ export async function filterAndSortProjectsList( projectTag: string = '', sortingOrder: Array = [], dedupeList?: boolean = false, + useDemoList?: boolean = false, ): Promise<[Array, number]> { - const allProjectInstances = await getAllProjectsFromList() - logInfo('filterAndSortProjectsList', `Starting with tag '${projectTag}' for ${allProjectInstances.length} projects`) + let allProjectInstances: Array + if (useDemoList) { + allProjectInstances = await getAllProjectsFromDemoList() + } else { + allProjectInstances = await getAllProjectsFromList() + } + logInfo('filterAndSortProjectsList', `Starting with tag '${projectTag}' for ${allProjectInstances.length} projects${useDemoList ? ' (demo)' : ''}`) // Filter out projects that are not tagged with the projectTag const projectInstancesForTag = (projectTag !== '') @@ -656,12 +725,17 @@ export async function filterAndSortProjectsList( * @param {ReviewConfig} config */ export async function updateAllProjectsListAfterChange( - // reviewedTitle: string, reviewedFilename: string, simplyDelete: boolean, config: ReviewConfig, ): Promise { try { + if (config.useDemoData ?? false) { + logInfo('updateAllProjectsListAfterChange', `Demo mode is on; not updating live notes, but will adjust JSON list if possible for '${reviewedFilename}'`) + // In demo mode we deliberately do not touch live notes or regenerate from them. + // We leave the JSON list unchanged here; any in-UI changes should go via updateProjectInAllProjectsList. + return + } if (reviewedFilename === '') { throw new Error('Empty filename passed') } diff --git a/jgclark.Reviews/src/index.js b/jgclark.Reviews/src/index.js index ff95d9ace..2c2bf6c46 100644 --- a/jgclark.Reviews/src/index.js +++ b/jgclark.Reviews/src/index.js @@ -3,7 +3,7 @@ //----------------------------------------------------------------------------- // Index for Reviews plugin // by Jonathan Clark -// Last updated 2026-02-13 for v1.3.0.b9, @jgclark +// Last updated 2026-02-23 for v1.4.0.b2, @jgclark //----------------------------------------------------------------------------- // allow changes in plugin.json to trigger recompilation @@ -26,6 +26,7 @@ export { redisplayProjectListHTML, renderProjectLists, renderProjectListsIfOpen, + toggleDemoModeForProjectLists, setNewReviewInterval, skipReview, startReviews, diff --git a/jgclark.Reviews/src/projectClass.js b/jgclark.Reviews/src/projectClass.js index f41ac3dfd..fd3cad6b4 100644 --- a/jgclark.Reviews/src/projectClass.js +++ b/jgclark.Reviews/src/projectClass.js @@ -2,7 +2,7 @@ //----------------------------------------------------------------------------- // Project class definition for Review plugin // by Jonathan Clark -// Last updated 2026-02-16 for v1.3.0.b12, @jgclark +// Last updated 2026-02-23 for v1.4.0.b2, @jgclark //----------------------------------------------------------------------------- // Import Helper functions @@ -1096,17 +1096,17 @@ export function calcReviewFieldsForProject(thisProjectIn: Project): Project { if (thisProjectIn.nextReviewDateStr != null) { nextReviewDays = daysBetween(now, thisProjectIn.nextReviewDateStr) logDebug('calcReviewFieldsForProject', `- already had a nextReviewDateStr ${thisProjectIn.nextReviewDateStr ?? '?'} -> ${String(nextReviewDays)} interval`) - } - else if (thisProjectIn.reviewInterval != null) { - if (thisProjectIn.reviewedDate != null) { - const calculatedNextReviewDateStr = calcNextReviewDate(thisProjectIn.reviewedDate, thisProjectIn.reviewInterval) + } else if (thisProjectIn.reviewInterval != null) { + const reviewedDateIn = thisProjectIn.reviewedDate + if (typeof reviewedDateIn === 'string' && reviewedDateIn !== '') { + const calculatedNextReviewDateStr = calcNextReviewDate(reviewedDateIn, thisProjectIn.reviewInterval) if (calculatedNextReviewDateStr != null) { nextReviewDateStr = calculatedNextReviewDateStr // this now uses moment and truncated (not rounded) date diffs in number of days nextReviewDays = daysBetween(now, nextReviewDateStr) // logDebug('calcReviewFieldsForProject', `${String(thisProjectIn.reviewedDate)} + ${thisProjectIn.reviewInterval ?? ''} -> nextReviewDateStr: ${nextReviewDateStr ?? ''} = ${String(nextReviewDays) ?? '-'}`) } else { - throw new Error(`calculated nextReviewDate is null; reviewedDate = ${String(thisProjectIn.reviewedDate)}`) + throw new Error(`calculated nextReviewDate is null; reviewedDate = ${String(reviewedDateIn)}`) } } else { // no next review date, so set at today diff --git a/jgclark.Reviews/src/reviewHelpers.js b/jgclark.Reviews/src/reviewHelpers.js index 6eb1b0d63..74f97b836 100644 --- a/jgclark.Reviews/src/reviewHelpers.js +++ b/jgclark.Reviews/src/reviewHelpers.js @@ -2,7 +2,7 @@ //----------------------------------------------------------------------------- // Helper functions for Review plugin // by Jonathan Clark -// Last updated 2026-02-22 for v1.4.0.b1, @jgclark +// Last updated 2026-02-23 for v1.4.0.b2, @jgclark //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- @@ -65,12 +65,13 @@ export type ReviewConfig = { height: number, archiveUsingFolderStructure: boolean, archiveFolder: string, - removeDueDatesOnPause: boolean, nextActionTags: Array, preferredWindowType: string, - sequentialTag: string, progressHeading?: string, progressHeadingLevel: number, + removeDueDatesOnPause: boolean, + sequentialTag: string, + useDemoData: boolean, writeMostRecentProgressToFrontmatter?: boolean, _logLevel: string, _logTimer: boolean, @@ -123,7 +124,7 @@ export async function getReviewSettings(externalCall: boolean = false): Promise< const currentPerspective: any = getActivePerspectiveDef(perspectiveSettings) // clo(currentPerspective, `currentPerspective`) config.perspectiveName = currentPerspective.name - logInfo('getReviewSettings', `Will use Perspective '${config.perspectiveName}', and will override any foldersToInclude, foldersToIgnore, and includedTeamspaces settings`) + logDebug('getReviewSettings', `Will use Perspective '${config.perspectiveName}', and will override any foldersToInclude, foldersToIgnore, and includedTeamspaces settings`) config.foldersToInclude = stringListOrArrayToArray(currentPerspective.dashboardSettings?.includedFolders ?? '', ',') config.foldersToIgnore = stringListOrArrayToArray(currentPerspective.dashboardSettings?.excludedFolders ?? '', ',') config.includedTeamspaces = currentPerspective.dashboardSettings?.includedTeamspaces ?? ['private'] diff --git a/jgclark.Reviews/src/reviews.js b/jgclark.Reviews/src/reviews.js index 3c472e74a..317aefbb0 100644 --- a/jgclark.Reviews/src/reviews.js +++ b/jgclark.Reviews/src/reviews.js @@ -11,7 +11,7 @@ // It draws its data from an intermediate 'full review list' CSV file, which is (re)computed as necessary. // // by @jgclark -// Last updated 2026-02-13 for v1.3.0.b8, @jgclark +// Last updated 2026-02-24 for v1.4.0.b2, @jgclark //----------------------------------------------------------------------------- import moment from 'moment/min/moment-with-locales' @@ -28,6 +28,7 @@ import { updateMetadataInNote, } from './reviewHelpers' import { + copyDemoDefaultToAllProjectsList, filterAndSortProjectsList, getNextNoteToReview, getSpecificProjectFromList, @@ -50,6 +51,7 @@ import { getFolderDisplayName, getFolderDisplayNameForHTML } from '@helpers/fold import { createRunPluginCallbackUrl, displayTitle } from '@helpers/general' import { showHTMLV2, sendToHTMLWindow } from '@helpers/HTMLView' import { numberOfOpenItemsInNote } from '@helpers/note' +import { saveSettings } from '@helpers/NPConfiguration' import { calcOffsetDateStr, nowLocaleShortDateTime } from '@helpers/NPdateTime' import { getOrOpenEditorFromFilename, getOpenEditorFromFilename, isNoteOpenInEditor, saveEditorIfNecessary } from '@helpers/NPEditor' import { getOrMakeRegularNoteInFolder } from '@helpers/NPnote' @@ -62,9 +64,11 @@ import { getInputTrimmed, showMessage, showMessageYesNo } from '@helpers/userInp // Constants const pluginID = 'jgclark.Reviews' -const windowTitle = `Project Review List` +const windowTitle = `Projects List` +const windowTitleDemo = 'Projects List (Demo)' const filenameHTMLCopy = '../../jgclark.Reviews/review_list.html' const customRichWinId = `${pluginID}.rich-review-list` +const customRichWinIdDemo = `${pluginID}.rich-review-list-demo` const customMarkdownWinId = `markdown-review-list` //----------------------------------------------------------------------------- @@ -410,9 +414,10 @@ export async function displayProjectLists(argsIn?: string | null = null, scrollP // clo(config, 'Review settings with no args:') } - // Re-calculate the allProjects list (in foreground) - await generateAllProjectsList(config, true) - + if (!(config.useDemoData ?? false)) { + // Re-calculate the allProjects list (in foreground) + await generateAllProjectsList(config, true) + } // Call the relevant rendering function with the updated config await renderProjectLists(config, true, scrollPos) } catch (error) { @@ -421,7 +426,45 @@ export async function displayProjectLists(argsIn?: string | null = null, scrollP } /** - * Internal version of above that doesn't open window if not already open. + * Demo variant of project lists. + * Reads from fixed demo JSON (copied into allProjectsList.json) without regenerating from live notes. + * @param {string? | null} argsIn as JSON (optional) + * @param {number?} scrollPos in pixels (optional, for HTML only) + */ +export async function toggleDemoModeForProjectLists(): Promise { + try { + const config = await getReviewSettings() + if (!config) throw new Error('No config found. Stopping.') + const isCurrentlyDemoMode = config.useDemoData ?? false + logInfo('toggleDemoModeForProjectLists', `Demo mode is currently ${isCurrentlyDemoMode ? 'ON' : 'off'}.`) + const willBeDemoMode = !isCurrentlyDemoMode + // Save a plain object so the value persists (loaded config may be frozen or a proxy) + const toSave = { ...config, useDemoData: willBeDemoMode } + const saved = await saveSettings(pluginJson['plugin.id'], toSave, false) + if (!saved) throw new Error('Failed to save demo mode setting.') + + if (willBeDemoMode) { + // Copy the fixed demo list into allProjectsList.json (first time after switching to demo) + const copied = await copyDemoDefaultToAllProjectsList() + if (!copied) { + throw new Error('Failed to copy demo list. Please check that allProjectsDemoListDefault.json exists in data/jgclark.Reviews, and try again.') + } + logInfo('toggleDemoModeForProjectLists', 'Demo mode is now ON; project list copied from demo default.') + } else { + // First time after switching away from demo: re-generate list from live notes + logInfo('toggleDemoModeForProjectLists', 'Demo mode now off; regenerating project list from notes.') + await generateAllProjectsList(toSave, true) + } + + // Now run the project lists display + await renderProjectLists(toSave, true) + } catch (error) { + logError('toggleDemoModeForProjectLists', JSP(error)) + } +} + +/** + * Internal version of earlier function that doesn't open window if not already open. * @param {number?} scrollPos */ export async function generateProjectListsAndRenderIfOpen(scrollPos: number = 0): Promise { @@ -430,9 +473,16 @@ export async function generateProjectListsAndRenderIfOpen(scrollPos: number = 0) if (!config) throw new Error('No config found. Stopping.') logDebug(pluginJson, `generateProjectListsAndRenderIfOpen() starting with scrollPos ${String(scrollPos)}`) - // Re-calculate the allProjects list (in foreground) - await generateAllProjectsList(config, true) - logDebug('generateProjectListsAndRenderIfOpen', `generatedAllProjectsList() called, and now will call renderProjectLists() if open`) + if (config.useDemoData ?? false) { + const copied = await copyDemoDefaultToAllProjectsList() + if (!copied) { + logWarn('generateProjectListsAndRenderIfOpen', 'Demo mode on but copy of demo list failed.') + } + } else { + // Re-calculate the allProjects list (in foreground) + await generateAllProjectsList(config, true) + logDebug('generateProjectListsAndRenderIfOpen', `generatedAllProjectsList() called, and now will call renderProjectLists() if open`) + } // Call the relevant rendering function, but only continue if relevant window is open await renderProjectLists(config, false, scrollPos) @@ -509,21 +559,23 @@ export async function renderProjectListsIfOpen( export async function renderProjectListsHTML( config: any, shouldOpen: boolean = true, - scrollPos: number = 0 + scrollPos: number = 0, ): Promise { try { + const useDemoData = config.useDemoData ?? false if (config.projectTypeTags.length === 0) { throw new Error('No projectTypeTags configured to display') } - if (!shouldOpen && !isHTMLWindowOpen(customRichWinId)) { + const richWinId = useDemoData ? customRichWinIdDemo : customRichWinId + if (!shouldOpen && !isHTMLWindowOpen(richWinId)) { logDebug('renderProjectListsHTML', `not continuing, as HTML window isn't open and 'shouldOpen' is false.`) return } const funcTimer = new moment().toDate() // use moment instead of `new Date` to ensure we get a date in the local timezone logInfo(pluginJson, `renderProjectLists ----------------------------------------`) - logDebug('renderProjectListsHTML', `Starting for ${String(config.projectTypeTags)} tags`) + logDebug('renderProjectListsHTML', `Starting for ${String(config.projectTypeTags)} tags${useDemoData ? ' (demo)' : ''}`) // Test to see if we have the font resources we want const res = await checkForWantedResources(pluginID) @@ -539,7 +591,7 @@ export async function renderProjectListsHTML( if (typeof config.projectTypeTags === 'string') config.projectTypeTags = [config.projectTypeTags] // Fetch project list first so we can compute per-tag active counts for the Filters dropdown - const [projectsToReview, _numberProjectsUnfiltered] = await filterAndSortProjectsList(config, '', [], true) + const [projectsToReview, _numberProjectsUnfiltered] = await filterAndSortProjectsList(config, '', [], true, useDemoData) const wantedTags = config.projectTypeTags ?? [] const tagActiveCounts = wantedTags.map((tag) => projectsToReview.filter( @@ -569,14 +621,19 @@ export async function renderProjectListsHTML( } const noteCount = projectsToReview.length outputArray.push(generateSingleSectionHeaderHTML(noteCount, due, config)) + if (useDemoData && noteCount === 0) { + outputArray.push('

Demo file (allProjectsDemoList.json) not found or empty.

') + } if (noteCount > 0) { outputArray.push(generateTableStructureHTML(config, noteCount)) let lastFolder = '' for (const thisProject of projectsToReview) { - const thisNote = DataStore.projectNoteByFilename(thisProject.filename) - if (!thisNote) { - logWarn('renderProjectListsHTML', `Can't find note for filename ${thisProject.filename}`) - continue + if (!useDemoData) { + const thisNote = DataStore.projectNoteByFilename(thisProject.filename) + if (!thisNote) { + logWarn('renderProjectListsHTML', `Can't find note for filename ${thisProject.filename}`) + continue + } } if (config.displayGroupedByFolder && lastFolder !== thisProject.folder) { const folderDisplayName = getFolderDisplayNameForHTML(thisProject.folder) @@ -623,8 +680,8 @@ export async function renderProjectListsHTML( ` const winOptions = { - windowTitle: windowTitle, - customId: customRichWinId, + windowTitle: useDemoData ? windowTitleDemo : windowTitle, + customId: richWinId, headerTags: `${faLinksInHeader}${stylesheetinksInHeader}\n`, generalCSSIn: generateCSSFromTheme(config.reviewsTheme), // either use dashboard-specific theme name, or get general CSS set automatically from current theme specificCSS: '', // now in requiredFiles/reviewListCSS instead @@ -648,7 +705,7 @@ export async function renderProjectListsHTML( iconColor: pluginJson['plugin.iconColor'], autoTopPadding: true, showReloadButton: true, - reloadCommandName: 'displayProjectLists', + reloadCommandName: useDemoData ? 'displayProjectListsDemo' : 'displayProjectLists', reloadPluginID: 'jgclark.Reviews', } const thisWindow = await showHTMLV2(body, winOptions) @@ -1259,7 +1316,7 @@ async function skipReviewCoreLogic(note: CoreNoteFields, skipIntervalOrDate: str // Update display for user (but don't open window if not open already) await renderProjectLists(config, false) } else { - // Regenerate whole list (and display if window is already open) + // Regenerate whole list (and display if window is already open) logWarn('skipReviewCoreLogic', `- Couldn't find project '${note.filename}' in allProjects list. So regenerating whole list and display.`) await generateProjectListsAndRenderIfOpen() } From 288bae1cb5ace1019f299377cd9c14847985c817 Mon Sep 17 00:00:00 2001 From: jgclark Date: Wed, 25 Feb 2026 16:29:12 +0000 Subject: [PATCH 06/23] b3 refactoring reviews.js --- jgclark.Reviews/CHANGELOG.md | 3 + jgclark.Reviews/plugin.json | 4 +- jgclark.Reviews/src/reviews.js | 295 +------------------- jgclark.Reviews/src/reviewsHTMLTemplates.js | 289 +++++++++++++++++++ 4 files changed, 307 insertions(+), 284 deletions(-) create mode 100644 jgclark.Reviews/src/reviewsHTMLTemplates.js diff --git a/jgclark.Reviews/CHANGELOG.md b/jgclark.Reviews/CHANGELOG.md index 95cce3b59..54827e0dd 100644 --- a/jgclark.Reviews/CHANGELOG.md +++ b/jgclark.Reviews/CHANGELOG.md @@ -1,6 +1,9 @@ # What's changed in 🔬 Projects + Reviews plugin? See [website README for more details](https://github.com/NotePlan/plugins/tree/main/jgclark.Reviews), and how to configure.under-the-hood fixes for integration with Dashboard plugin +## [1.4.0.b3] - 2026-02-24 +- Dev: Refactor reviews.js significantly to better separate logic from display concerns. Adds new file `reviewsHTMLTemplates.js`. + ## [1.4.0.b2] - 2026-02-24 - Added a 'Demo' mode, which swaps in a separate `allProjectsDemoListDefault.json` to display details of real (or potentially fictitious) projects for demo. diff --git a/jgclark.Reviews/plugin.json b/jgclark.Reviews/plugin.json index 7da22b408..a75ef5879 100644 --- a/jgclark.Reviews/plugin.json +++ b/jgclark.Reviews/plugin.json @@ -9,9 +9,9 @@ "plugin.author": "Jonathan Clark", "plugin.url": "https://noteplan.com/plugins/jgclark.Reviews", "plugin.changelog": "https://github.com/NotePlan/plugins/blob/main/jgclark.Reviews/CHANGELOG.md", - "plugin.version": "1.4.0.b1", + "plugin.version": "1.4.0.b3", "plugin.releaseStatus": "beta", - "plugin.lastUpdateInfo": "1.4.0.b2: Added new demo command project lists.\n1.4.0.b1: Changed display of due/review dates from columns 3 and 4 into a new info area.\n1.3.0: Please see CHANGELOG.md for details of the many Display improvements, Processing improvements and fixes.", + "plugin.lastUpdateInfo": "1.4.0: ???.\n1.3.0: Please see CHANGELOG.md for details of the many Display improvements, Processing improvements and fixes.", "plugin.script": "script.js", "plugin.dependsOn": [ { diff --git a/jgclark.Reviews/src/reviews.js b/jgclark.Reviews/src/reviews.js index 317aefbb0..2b4db68e0 100644 --- a/jgclark.Reviews/src/reviews.js +++ b/jgclark.Reviews/src/reviews.js @@ -11,7 +11,7 @@ // It draws its data from an intermediate 'full review list' CSV file, which is (re)computed as necessary. // // by @jgclark -// Last updated 2026-02-24 for v1.4.0.b2, @jgclark +// Last updated 2026-02-24 for v1.4.0.b3, @jgclark //----------------------------------------------------------------------------- import moment from 'moment/min/moment-with-locales' @@ -44,6 +44,18 @@ import { generateProjectControlDialogHTML, generateFolderHeaderHTML, } from './projectsHTMLGenerator.js' +import { + stylesheetinksInHeader, + faLinksInHeader, + checkboxHandlerJSFunc, + scrollPreLoadJSFuncs, + commsBridgeScripts, + shortcutsScript, + setPercentRingJSFunc, + addToggleEvents, + displayFiltersDropdownScript, + tagTogglesVisibilityScript, +} from './reviewsHTMLTemplates' import { checkString } from '@helpers/checkType' import { getTodaysDateHyphenated, RE_DATE, RE_DATE_INTERVAL, todaysDateISOString } from '@helpers/dateTime' import { clo, JSP, logDebug, logError, logInfo, logTimer, logWarn, overrideSettingsWithEncodedTypedArgs } from '@helpers/dev' @@ -107,289 +119,8 @@ async function clearProjectReviewingInHTML(): Promise { } } -//------------------------------------------------------------------------------- -// JS scripts - -const stylesheetinksInHeader = ` - - - -` -const faLinksInHeader = ` - - - - - -` - -export const checkboxHandlerJSFunc: string = ` - -` -/** - * Functions to get/set scroll position of the project list content. - * Helped by https://stackoverflow.com/questions/9377951/how-to-remember-scroll-position-and-scroll-back - * But need to find a different approach to store the position, as cookies not available. - */ -export const scrollPreLoadJSFuncs: string = ` - -` - -const commsBridgeScripts = ` - - - - - -` -/** - * Script to add some keyboard shortcuts to control the dashboard. (Meta=Cmd here.) - */ -const shortcutsScript = ` - - - -` - -export const setPercentRingJSFunc: string = ` - -` - -const addToggleEvents: string = ` - -` - -const displayFiltersDropdownScript: string = ` - -` - -const tagTogglesVisibilityScript: string = ` - -` //----------------------------------------------------------------------------- // Main functions diff --git a/jgclark.Reviews/src/reviewsHTMLTemplates.js b/jgclark.Reviews/src/reviewsHTMLTemplates.js new file mode 100644 index 000000000..a932d4efb --- /dev/null +++ b/jgclark.Reviews/src/reviewsHTMLTemplates.js @@ -0,0 +1,289 @@ +// @flow +//----------------------------------------------------------------------------- +// HTML and JS template strings for Reviews plugin HTML view +// Extracted from reviews.js to keep command logic separate from templates. +// Last updated 2026-02-24 for v1.4.0.b3, @jgclark +//----------------------------------------------------------------------------- + +export const stylesheetinksInHeader: string = ` + + + +` + +export const faLinksInHeader: string = ` + + + + + +` + +export const checkboxHandlerJSFunc: string = ` + +` + +/** + * Functions to get/set scroll position of the project list content. + * Helped by https://stackoverflow.com/questions/9377951/how-to-remember-scroll-position-and-scroll-back + * But need to find a different approach to store the position, as cookies not available. + */ +export const scrollPreLoadJSFuncs: string = ` + +` + +export const commsBridgeScripts: string = ` + + + + + +` + +/** + * Script to add some keyboard shortcuts to control the dashboard. (Meta=Cmd here.) + */ +export const shortcutsScript: string = ` + + + +` + +export const setPercentRingJSFunc: string = ` + +` + +export const addToggleEvents: string = ` + +` + +export const displayFiltersDropdownScript: string = ` + +` + +export const tagTogglesVisibilityScript: string = ` + +` From 55f790f5bad25e8b8e16ee389094737c276d62fc Mon Sep 17 00:00:00 2001 From: David Wertheimer Date: Sun, 22 Feb 2026 19:33:20 -0800 Subject: [PATCH 07/23] TaskAutomations 3.1.1 - fix weeks calculation to honor NP week --- dwertheimer.TaskAutomations/changelog.md | 4 + dwertheimer.TaskAutomations/plugin.json | 4 +- .../react.c.WebView.bundle.dev.js | 90660 +++++++++------- .../react.c.WebView.bundle.min.js | 61982 ++++++++++- helpers/NPdateTime.js | 49 +- helpers/__tests__/NPDateTime.test.js | 59 + 6 files changed, 116135 insertions(+), 36623 deletions(-) diff --git a/dwertheimer.TaskAutomations/changelog.md b/dwertheimer.TaskAutomations/changelog.md index 618e734f4..369b629f9 100644 --- a/dwertheimer.TaskAutomations/changelog.md +++ b/dwertheimer.TaskAutomations/changelog.md @@ -7,6 +7,10 @@ NOTE: A COUPLE OF RELEASES AFTER 3.0.0 DELETE THE SETTINGS THAT PERTAIN TO TASKS +## [3.1.1] (upcoming) + +- Fix: "This week" and "Next week" in the follow-up date picker now respect NotePlan's "Start Week On" setting. Previously, when the week started on Monday (or any day other than Sunday), "this week" pointed to the previous week and "next week" to the current week (fix in shared `helpers/NPdateTime.js` getWeekOptions). + ## [3.0.0] @dwertheimer 2024-03-26 - Migrate Task Sorting Commands to Task Sorter Plugin diff --git a/dwertheimer.TaskAutomations/plugin.json b/dwertheimer.TaskAutomations/plugin.json index 26bbc14de..7f2b70836 100644 --- a/dwertheimer.TaskAutomations/plugin.json +++ b/dwertheimer.TaskAutomations/plugin.json @@ -5,8 +5,8 @@ "plugin.name": "✅ Overdue Task Processing", "plugin.description": "Automations for handling Tasks:\n- Overdue/Forgotten task scanning\n- Task sorting within a note\n- Copying #tags/@mentions from one task to another\n- Mark all tasks in note open/completed\n- Automatically opening URLs of task lines", "plugin.author": "@dwertheimer", - "plugin.version": "3.1.0", - "plugin.lastUpdateInfo": "Added optional noteTitle parameter to followUpInFuture to skip date picker\n- Added fallback to note picker if note title lookup fails\n- Added followUpHeadingTitle setting to save todos under a specific heading instead of prepending to note", + "plugin.version": "3.1.1", + "plugin.lastUpdateInfo": "Fix: 'This week' and 'Next week' in the follow-up date picker now respect NotePlan's 'Start Week On' setting. Previously, when the week started on Monday (or any day other than Sunday), 'this week' pointed to the previous week and 'next week' to the current week.", "DELETE_ME": "DON'T DELETE commandMigrationMessage or offerToDownloadPlugin until they are documented somewhere", "commandMigrationMessage": "NOTE: Task Sorting commands have been moved from the Task Automations plugin to the Task Sorting plugin. This plugin has been renamed to 'Overdue Task Processing'.", "offerToDownloadPlugin": { diff --git a/dwertheimer.TaskAutomations/requiredFiles/react.c.WebView.bundle.dev.js b/dwertheimer.TaskAutomations/requiredFiles/react.c.WebView.bundle.dev.js index ff1522884..18224d92b 100644 --- a/dwertheimer.TaskAutomations/requiredFiles/react.c.WebView.bundle.dev.js +++ b/dwertheimer.TaskAutomations/requiredFiles/react.c.WebView.bundle.dev.js @@ -1,10 +1,7 @@ -var WebViewBundle = (function (exports, React$1) { +var WebViewBundle = (function (exports, React$1, require$$1) { 'use strict'; - function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } - - function _interopNamespace(e) { - if (e && e.__esModule) return e; + function _interopNamespaceDefault(e) { var n = Object.create(null); if (e) { Object.keys(e).forEach(function (k) { @@ -17,12 +14,11 @@ var WebViewBundle = (function (exports, React$1) { } }); } - n["default"] = e; + n.default = e; return Object.freeze(n); } - var React__default = /*#__PURE__*/_interopDefaultLegacy(React$1); - var React__namespace = /*#__PURE__*/_interopNamespace(React$1); + var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React$1); var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; @@ -30,21 +26,6 @@ var WebViewBundle = (function (exports, React$1) { return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x; } - function getAugmentedNamespace(n) { - if (n.__esModule) return n; - var a = Object.defineProperty({}, '__esModule', {value: true}); - Object.keys(n).forEach(function (k) { - var d = Object.getOwnPropertyDescriptor(n, k); - Object.defineProperty(a, k, d.get ? d : { - enumerable: true, - get: function () { - return n[k]; - } - }); - }); - return a; - } - /** * Checks if `value` is the * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) @@ -71,201 +52,281 @@ var WebViewBundle = (function (exports, React$1) { * // => false */ - function isObject$2(value) { - var type = typeof value; - return value != null && (type == 'object' || type == 'function'); - } - - var isObject_1 = isObject$2; + var isObject_1; + var hasRequiredIsObject; - /** Detect free variable `global` from Node.js. */ - - var freeGlobal$1 = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal; - - var _freeGlobal = freeGlobal$1; - - var freeGlobal = _freeGlobal; + function requireIsObject () { + if (hasRequiredIsObject) return isObject_1; + hasRequiredIsObject = 1; + function isObject(value) { + var type = typeof value; + return value != null && (type == 'object' || type == 'function'); + } - /** Detect free variable `self`. */ - var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + isObject_1 = isObject; + return isObject_1; + } - /** Used as a reference to the global object. */ - var root$2 = freeGlobal || freeSelf || Function('return this')(); + /** Detect free variable `global` from Node.js. */ - var _root = root$2; + var _freeGlobal; + var hasRequired_freeGlobal; - var root$1 = _root; + function require_freeGlobal () { + if (hasRequired_freeGlobal) return _freeGlobal; + hasRequired_freeGlobal = 1; + var freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal; - /** - * Gets the timestamp of the number of milliseconds that have elapsed since - * the Unix epoch (1 January 1970 00:00:00 UTC). - * - * @static - * @memberOf _ - * @since 2.4.0 - * @category Date - * @returns {number} Returns the timestamp. - * @example - * - * _.defer(function(stamp) { - * console.log(_.now() - stamp); - * }, _.now()); - * // => Logs the number of milliseconds it took for the deferred invocation. - */ - var now$1 = function() { - return root$1.Date.now(); - }; + _freeGlobal = freeGlobal; + return _freeGlobal; + } - var now_1 = now$1; + var _root; + var hasRequired_root; - /** Used to match a single whitespace character. */ + function require_root () { + if (hasRequired_root) return _root; + hasRequired_root = 1; + var freeGlobal = require_freeGlobal(); - var reWhitespace = /\s/; + /** Detect free variable `self`. */ + var freeSelf = typeof self == 'object' && self && self.Object === Object && self; - /** - * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace - * character of `string`. - * - * @private - * @param {string} string The string to inspect. - * @returns {number} Returns the index of the last non-whitespace character. - */ - function trimmedEndIndex$1(string) { - var index = string.length; + /** Used as a reference to the global object. */ + var root = freeGlobal || freeSelf || Function('return this')(); - while (index-- && reWhitespace.test(string.charAt(index))) {} - return index; + _root = root; + return _root; } - var _trimmedEndIndex = trimmedEndIndex$1; + var now_1; + var hasRequiredNow; - var trimmedEndIndex = _trimmedEndIndex; + function requireNow () { + if (hasRequiredNow) return now_1; + hasRequiredNow = 1; + var root = require_root(); - /** Used to match leading whitespace. */ - var reTrimStart = /^\s+/; + /** + * Gets the timestamp of the number of milliseconds that have elapsed since + * the Unix epoch (1 January 1970 00:00:00 UTC). + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Date + * @returns {number} Returns the timestamp. + * @example + * + * _.defer(function(stamp) { + * console.log(_.now() - stamp); + * }, _.now()); + * // => Logs the number of milliseconds it took for the deferred invocation. + */ + var now = function() { + return root.Date.now(); + }; - /** - * The base implementation of `_.trim`. - * - * @private - * @param {string} string The string to trim. - * @returns {string} Returns the trimmed string. - */ - function baseTrim$1(string) { - return string - ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '') - : string; + now_1 = now; + return now_1; } - var _baseTrim = baseTrim$1; - - var root = _root; - - /** Built-in value references. */ - var Symbol$3 = root.Symbol; + /** Used to match a single whitespace character. */ - var _Symbol = Symbol$3; + var _trimmedEndIndex; + var hasRequired_trimmedEndIndex; + + function require_trimmedEndIndex () { + if (hasRequired_trimmedEndIndex) return _trimmedEndIndex; + hasRequired_trimmedEndIndex = 1; + var reWhitespace = /\s/; + + /** + * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace + * character of `string`. + * + * @private + * @param {string} string The string to inspect. + * @returns {number} Returns the index of the last non-whitespace character. + */ + function trimmedEndIndex(string) { + var index = string.length; + + while (index-- && reWhitespace.test(string.charAt(index))) {} + return index; + } - var Symbol$2 = _Symbol; + _trimmedEndIndex = trimmedEndIndex; + return _trimmedEndIndex; + } - /** Used for built-in method references. */ - var objectProto$1 = Object.prototype; + var _baseTrim; + var hasRequired_baseTrim; - /** Used to check objects for own properties. */ - var hasOwnProperty$1 = objectProto$1.hasOwnProperty; + function require_baseTrim () { + if (hasRequired_baseTrim) return _baseTrim; + hasRequired_baseTrim = 1; + var trimmedEndIndex = require_trimmedEndIndex(); - /** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ - var nativeObjectToString$1 = objectProto$1.toString; + /** Used to match leading whitespace. */ + var reTrimStart = /^\s+/; - /** Built-in value references. */ - var symToStringTag$1 = Symbol$2 ? Symbol$2.toStringTag : undefined; + /** + * The base implementation of `_.trim`. + * + * @private + * @param {string} string The string to trim. + * @returns {string} Returns the trimmed string. + */ + function baseTrim(string) { + return string + ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '') + : string; + } - /** - * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the raw `toStringTag`. - */ - function getRawTag$1(value) { - var isOwn = hasOwnProperty$1.call(value, symToStringTag$1), - tag = value[symToStringTag$1]; + _baseTrim = baseTrim; + return _baseTrim; + } + + var _Symbol; + var hasRequired_Symbol; + + function require_Symbol () { + if (hasRequired_Symbol) return _Symbol; + hasRequired_Symbol = 1; + var root = require_root(); + + /** Built-in value references. */ + var Symbol = root.Symbol; + + _Symbol = Symbol; + return _Symbol; + } + + var _getRawTag; + var hasRequired_getRawTag; + + function require_getRawTag () { + if (hasRequired_getRawTag) return _getRawTag; + hasRequired_getRawTag = 1; + var Symbol = require_Symbol(); + + /** Used for built-in method references. */ + var objectProto = Object.prototype; + + /** Used to check objects for own properties. */ + var hasOwnProperty = objectProto.hasOwnProperty; + + /** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ + var nativeObjectToString = objectProto.toString; + + /** Built-in value references. */ + var symToStringTag = Symbol ? Symbol.toStringTag : undefined; + + /** + * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the raw `toStringTag`. + */ + function getRawTag(value) { + var isOwn = hasOwnProperty.call(value, symToStringTag), + tag = value[symToStringTag]; + + try { + value[symToStringTag] = undefined; + var unmasked = true; + } catch (e) {} + + var result = nativeObjectToString.call(value); + if (unmasked) { + if (isOwn) { + value[symToStringTag] = tag; + } else { + delete value[symToStringTag]; + } + } + return result; + } - try { - value[symToStringTag$1] = undefined; - var unmasked = true; - } catch (e) {} - - var result = nativeObjectToString$1.call(value); - if (unmasked) { - if (isOwn) { - value[symToStringTag$1] = tag; - } else { - delete value[symToStringTag$1]; - } - } - return result; + _getRawTag = getRawTag; + return _getRawTag; } - var _getRawTag = getRawTag$1; - /** Used for built-in method references. */ - var objectProto = Object.prototype; - - /** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ - var nativeObjectToString = objectProto.toString; - - /** - * Converts `value` to a string using `Object.prototype.toString`. - * - * @private - * @param {*} value The value to convert. - * @returns {string} Returns the converted string. - */ - function objectToString$1(value) { - return nativeObjectToString.call(value); - } - - var _objectToString = objectToString$1; - - var Symbol$1 = _Symbol, - getRawTag = _getRawTag, - objectToString = _objectToString; - - /** `Object#toString` result references. */ - var nullTag = '[object Null]', - undefinedTag = '[object Undefined]'; + var _objectToString; + var hasRequired_objectToString; + + function require_objectToString () { + if (hasRequired_objectToString) return _objectToString; + hasRequired_objectToString = 1; + var objectProto = Object.prototype; + + /** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ + var nativeObjectToString = objectProto.toString; + + /** + * Converts `value` to a string using `Object.prototype.toString`. + * + * @private + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + */ + function objectToString(value) { + return nativeObjectToString.call(value); + } - /** Built-in value references. */ - var symToStringTag = Symbol$1 ? Symbol$1.toStringTag : undefined; + _objectToString = objectToString; + return _objectToString; + } + + var _baseGetTag; + var hasRequired_baseGetTag; + + function require_baseGetTag () { + if (hasRequired_baseGetTag) return _baseGetTag; + hasRequired_baseGetTag = 1; + var Symbol = require_Symbol(), + getRawTag = require_getRawTag(), + objectToString = require_objectToString(); + + /** `Object#toString` result references. */ + var nullTag = '[object Null]', + undefinedTag = '[object Undefined]'; + + /** Built-in value references. */ + var symToStringTag = Symbol ? Symbol.toStringTag : undefined; + + /** + * The base implementation of `getTag` without fallbacks for buggy environments. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ + function baseGetTag(value) { + if (value == null) { + return value === undefined ? undefinedTag : nullTag; + } + return (symToStringTag && symToStringTag in Object(value)) + ? getRawTag(value) + : objectToString(value); + } - /** - * The base implementation of `getTag` without fallbacks for buggy environments. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the `toStringTag`. - */ - function baseGetTag$1(value) { - if (value == null) { - return value === undefined ? undefinedTag : nullTag; - } - return (symToStringTag && symToStringTag in Object(value)) - ? getRawTag(value) - : objectToString(value); + _baseGetTag = baseGetTag; + return _baseGetTag; } - var _baseGetTag = baseGetTag$1; - /** * Checks if `value` is object-like. A value is object-like if it's not `null` * and has a `typeof` result of "object". @@ -291,35138 +352,34113 @@ var WebViewBundle = (function (exports, React$1) { * // => false */ - function isObjectLike$1(value) { - return value != null && typeof value == 'object'; - } - - var isObjectLike_1 = isObjectLike$1; - - var baseGetTag = _baseGetTag, - isObjectLike = isObjectLike_1; - - /** `Object#toString` result references. */ - var symbolTag = '[object Symbol]'; - - /** - * Checks if `value` is classified as a `Symbol` primitive or object. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. - * @example - * - * _.isSymbol(Symbol.iterator); - * // => true - * - * _.isSymbol('abc'); - * // => false - */ - function isSymbol$1(value) { - return typeof value == 'symbol' || - (isObjectLike(value) && baseGetTag(value) == symbolTag); - } - - var isSymbol_1 = isSymbol$1; - - var baseTrim = _baseTrim, - isObject$1 = isObject_1, - isSymbol = isSymbol_1; + var isObjectLike_1; + var hasRequiredIsObjectLike; - /** Used as references for various `Number` constants. */ - var NAN = 0 / 0; - - /** Used to detect bad signed hexadecimal string values. */ - var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; + function requireIsObjectLike () { + if (hasRequiredIsObjectLike) return isObjectLike_1; + hasRequiredIsObjectLike = 1; + function isObjectLike(value) { + return value != null && typeof value == 'object'; + } - /** Used to detect binary string values. */ - var reIsBinary = /^0b[01]+$/i; + isObjectLike_1 = isObjectLike; + return isObjectLike_1; + } + + var isSymbol_1; + var hasRequiredIsSymbol; + + function requireIsSymbol () { + if (hasRequiredIsSymbol) return isSymbol_1; + hasRequiredIsSymbol = 1; + var baseGetTag = require_baseGetTag(), + isObjectLike = requireIsObjectLike(); + + /** `Object#toString` result references. */ + var symbolTag = '[object Symbol]'; + + /** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ + function isSymbol(value) { + return typeof value == 'symbol' || + (isObjectLike(value) && baseGetTag(value) == symbolTag); + } - /** Used to detect octal string values. */ - var reIsOctal = /^0o[0-7]+$/i; + isSymbol_1 = isSymbol; + return isSymbol_1; + } + + var toNumber_1; + var hasRequiredToNumber; + + function requireToNumber () { + if (hasRequiredToNumber) return toNumber_1; + hasRequiredToNumber = 1; + var baseTrim = require_baseTrim(), + isObject = requireIsObject(), + isSymbol = requireIsSymbol(); + + /** Used as references for various `Number` constants. */ + var NAN = 0 / 0; + + /** Used to detect bad signed hexadecimal string values. */ + var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; + + /** Used to detect binary string values. */ + var reIsBinary = /^0b[01]+$/i; + + /** Used to detect octal string values. */ + var reIsOctal = /^0o[0-7]+$/i; + + /** Built-in method references without a dependency on `root`. */ + var freeParseInt = parseInt; + + /** + * Converts `value` to a number. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {number} Returns the number. + * @example + * + * _.toNumber(3.2); + * // => 3.2 + * + * _.toNumber(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toNumber(Infinity); + * // => Infinity + * + * _.toNumber('3.2'); + * // => 3.2 + */ + function toNumber(value) { + if (typeof value == 'number') { + return value; + } + if (isSymbol(value)) { + return NAN; + } + if (isObject(value)) { + var other = typeof value.valueOf == 'function' ? value.valueOf() : value; + value = isObject(other) ? (other + '') : other; + } + if (typeof value != 'string') { + return value === 0 ? value : +value; + } + value = baseTrim(value); + var isBinary = reIsBinary.test(value); + return (isBinary || reIsOctal.test(value)) + ? freeParseInt(value.slice(2), isBinary ? 2 : 8) + : (reIsBadHex.test(value) ? NAN : +value); + } - /** Built-in method references without a dependency on `root`. */ - var freeParseInt = parseInt; + toNumber_1 = toNumber; + return toNumber_1; + } + + var debounce_1; + var hasRequiredDebounce; + + function requireDebounce () { + if (hasRequiredDebounce) return debounce_1; + hasRequiredDebounce = 1; + var isObject = requireIsObject(), + now = requireNow(), + toNumber = requireToNumber(); + + /** Error message constants. */ + var FUNC_ERROR_TEXT = 'Expected a function'; + + /* Built-in method references for those with the same name as other `lodash` methods. */ + var nativeMax = Math.max, + nativeMin = Math.min; + + /** + * Creates a debounced function that delays invoking `func` until after `wait` + * milliseconds have elapsed since the last time the debounced function was + * invoked. The debounced function comes with a `cancel` method to cancel + * delayed `func` invocations and a `flush` method to immediately invoke them. + * Provide `options` to indicate whether `func` should be invoked on the + * leading and/or trailing edge of the `wait` timeout. The `func` is invoked + * with the last arguments provided to the debounced function. Subsequent + * calls to the debounced function return the result of the last `func` + * invocation. + * + * **Note:** If `leading` and `trailing` options are `true`, `func` is + * invoked on the trailing edge of the timeout only if the debounced function + * is invoked more than once during the `wait` timeout. + * + * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred + * until to the next tick, similar to `setTimeout` with a timeout of `0`. + * + * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) + * for details over the differences between `_.debounce` and `_.throttle`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to debounce. + * @param {number} [wait=0] The number of milliseconds to delay. + * @param {Object} [options={}] The options object. + * @param {boolean} [options.leading=false] + * Specify invoking on the leading edge of the timeout. + * @param {number} [options.maxWait] + * The maximum time `func` is allowed to be delayed before it's invoked. + * @param {boolean} [options.trailing=true] + * Specify invoking on the trailing edge of the timeout. + * @returns {Function} Returns the new debounced function. + * @example + * + * // Avoid costly calculations while the window size is in flux. + * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); + * + * // Invoke `sendMail` when clicked, debouncing subsequent calls. + * jQuery(element).on('click', _.debounce(sendMail, 300, { + * 'leading': true, + * 'trailing': false + * })); + * + * // Ensure `batchLog` is invoked once after 1 second of debounced calls. + * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 }); + * var source = new EventSource('/stream'); + * jQuery(source).on('message', debounced); + * + * // Cancel the trailing debounced invocation. + * jQuery(window).on('popstate', debounced.cancel); + */ + function debounce(func, wait, options) { + var lastArgs, + lastThis, + maxWait, + result, + timerId, + lastCallTime, + lastInvokeTime = 0, + leading = false, + maxing = false, + trailing = true; + + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + wait = toNumber(wait) || 0; + if (isObject(options)) { + leading = !!options.leading; + maxing = 'maxWait' in options; + maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait; + trailing = 'trailing' in options ? !!options.trailing : trailing; + } + + function invokeFunc(time) { + var args = lastArgs, + thisArg = lastThis; + + lastArgs = lastThis = undefined; + lastInvokeTime = time; + result = func.apply(thisArg, args); + return result; + } + + function leadingEdge(time) { + // Reset any `maxWait` timer. + lastInvokeTime = time; + // Start the timer for the trailing edge. + timerId = setTimeout(timerExpired, wait); + // Invoke the leading edge. + return leading ? invokeFunc(time) : result; + } + + function remainingWait(time) { + var timeSinceLastCall = time - lastCallTime, + timeSinceLastInvoke = time - lastInvokeTime, + timeWaiting = wait - timeSinceLastCall; + + return maxing + ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) + : timeWaiting; + } + + function shouldInvoke(time) { + var timeSinceLastCall = time - lastCallTime, + timeSinceLastInvoke = time - lastInvokeTime; + + // Either this is the first call, activity has stopped and we're at the + // trailing edge, the system time has gone backwards and we're treating + // it as the trailing edge, or we've hit the `maxWait` limit. + return (lastCallTime === undefined || (timeSinceLastCall >= wait) || + (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait)); + } + + function timerExpired() { + var time = now(); + if (shouldInvoke(time)) { + return trailingEdge(time); + } + // Restart the timer. + timerId = setTimeout(timerExpired, remainingWait(time)); + } + + function trailingEdge(time) { + timerId = undefined; + + // Only invoke if we have `lastArgs` which means `func` has been + // debounced at least once. + if (trailing && lastArgs) { + return invokeFunc(time); + } + lastArgs = lastThis = undefined; + return result; + } + + function cancel() { + if (timerId !== undefined) { + clearTimeout(timerId); + } + lastInvokeTime = 0; + lastArgs = lastCallTime = lastThis = timerId = undefined; + } + + function flush() { + return timerId === undefined ? result : trailingEdge(now()); + } + + function debounced() { + var time = now(), + isInvoking = shouldInvoke(time); + + lastArgs = arguments; + lastThis = this; + lastCallTime = time; + + if (isInvoking) { + if (timerId === undefined) { + return leadingEdge(lastCallTime); + } + if (maxing) { + // Handle invocations in a tight loop. + clearTimeout(timerId); + timerId = setTimeout(timerExpired, wait); + return invokeFunc(lastCallTime); + } + } + if (timerId === undefined) { + timerId = setTimeout(timerExpired, wait); + } + return result; + } + debounced.cancel = cancel; + debounced.flush = flush; + return debounced; + } - /** - * Converts `value` to a number. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to process. - * @returns {number} Returns the number. - * @example - * - * _.toNumber(3.2); - * // => 3.2 - * - * _.toNumber(Number.MIN_VALUE); - * // => 5e-324 - * - * _.toNumber(Infinity); - * // => Infinity - * - * _.toNumber('3.2'); - * // => 3.2 - */ - function toNumber$1(value) { - if (typeof value == 'number') { - return value; - } - if (isSymbol(value)) { - return NAN; - } - if (isObject$1(value)) { - var other = typeof value.valueOf == 'function' ? value.valueOf() : value; - value = isObject$1(other) ? (other + '') : other; - } - if (typeof value != 'string') { - return value === 0 ? value : +value; - } - value = baseTrim(value); - var isBinary = reIsBinary.test(value); - return (isBinary || reIsOctal.test(value)) - ? freeParseInt(value.slice(2), isBinary ? 2 : 8) - : (reIsBadHex.test(value) ? NAN : +value); + debounce_1 = debounce; + return debounce_1; } - var toNumber_1 = toNumber$1; - - var isObject = isObject_1, - now = now_1, - toNumber = toNumber_1; - - /** Error message constants. */ - var FUNC_ERROR_TEXT = 'Expected a function'; - - /* Built-in method references for those with the same name as other `lodash` methods. */ - var nativeMax = Math.max, - nativeMin = Math.min; - - /** - * Creates a debounced function that delays invoking `func` until after `wait` - * milliseconds have elapsed since the last time the debounced function was - * invoked. The debounced function comes with a `cancel` method to cancel - * delayed `func` invocations and a `flush` method to immediately invoke them. - * Provide `options` to indicate whether `func` should be invoked on the - * leading and/or trailing edge of the `wait` timeout. The `func` is invoked - * with the last arguments provided to the debounced function. Subsequent - * calls to the debounced function return the result of the last `func` - * invocation. - * - * **Note:** If `leading` and `trailing` options are `true`, `func` is - * invoked on the trailing edge of the timeout only if the debounced function - * is invoked more than once during the `wait` timeout. - * - * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred - * until to the next tick, similar to `setTimeout` with a timeout of `0`. - * - * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) - * for details over the differences between `_.debounce` and `_.throttle`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to debounce. - * @param {number} [wait=0] The number of milliseconds to delay. - * @param {Object} [options={}] The options object. - * @param {boolean} [options.leading=false] - * Specify invoking on the leading edge of the timeout. - * @param {number} [options.maxWait] - * The maximum time `func` is allowed to be delayed before it's invoked. - * @param {boolean} [options.trailing=true] - * Specify invoking on the trailing edge of the timeout. - * @returns {Function} Returns the new debounced function. - * @example - * - * // Avoid costly calculations while the window size is in flux. - * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); - * - * // Invoke `sendMail` when clicked, debouncing subsequent calls. - * jQuery(element).on('click', _.debounce(sendMail, 300, { - * 'leading': true, - * 'trailing': false - * })); - * - * // Ensure `batchLog` is invoked once after 1 second of debounced calls. - * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 }); - * var source = new EventSource('/stream'); - * jQuery(source).on('message', debounced); - * - * // Cancel the trailing debounced invocation. - * jQuery(window).on('popstate', debounced.cancel); - */ - function debounce(func, wait, options) { - var lastArgs, - lastThis, - maxWait, - result, - timerId, - lastCallTime, - lastInvokeTime = 0, - leading = false, - maxing = false, - trailing = true; - - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - wait = toNumber(wait) || 0; - if (isObject(options)) { - leading = !!options.leading; - maxing = 'maxWait' in options; - maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait; - trailing = 'trailing' in options ? !!options.trailing : trailing; - } - - function invokeFunc(time) { - var args = lastArgs, - thisArg = lastThis; + var debounceExports = requireDebounce(); + var debounce = /*@__PURE__*/getDefaultExportFromCjs(debounceExports); - lastArgs = lastThis = undefined; - lastInvokeTime = time; - result = func.apply(thisArg, args); - return result; - } + var index_cjs = {}; - function leadingEdge(time) { - // Reset any `maxWait` timer. - lastInvokeTime = time; - // Start the timer for the trailing edge. - timerId = setTimeout(timerExpired, wait); - // Invoke the leading edge. - return leading ? invokeFunc(time) : result; - } + var hasRequiredIndex_cjs; - function remainingWait(time) { - var timeSinceLastCall = time - lastCallTime, - timeSinceLastInvoke = time - lastInvokeTime, - timeWaiting = wait - timeSinceLastCall; + function requireIndex_cjs () { + if (hasRequiredIndex_cjs) return index_cjs; + hasRequiredIndex_cjs = 1; + (function (exports) { + Object.defineProperty(exports,"__esModule",{value:!0});var e=React$1,t=require$$1;function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function o(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:function(){return e[n]}});}})),t.default=e,Object.freeze(t)}var a,l=o(e),r=n(e),i=n(t);function s(e,t){return e[t]}function d(e=[],t,n=0){return [...e.slice(0,n),t,...e.slice(n)]}function c(e=[],t,n="id"){const o=e.slice(),a=s(t,n);return a?o.splice(o.findIndex((e=>s(e,n)===a)),1):o.splice(o.findIndex((e=>e===t)),1),o}function g(e){return e.map(((e,t)=>{const n=Object.assign(Object.assign({},e),{sortable:e.sortable||!!e.sortFunction||void 0});return e.id||(n.id=t+1),n}))}function u(e,t){return Math.ceil(e/t)}function p(e,t){return Math.min(e,t)}!function(e){e.ASC="asc",e.DESC="desc";}(a||(a={}));const b=()=>null;function m(e,t=[],n=[]){let o={},a=[...n];return t.length&&t.forEach((t=>{if(!t.when||"function"!=typeof t.when)throw new Error('"when" must be defined in the conditional style object and must be function');t.when(e)&&(o=t.style||{},t.classNames&&(a=[...a,...t.classNames]),"function"==typeof t.style&&(o=t.style(e)||{}));})),{conditionalStyle:o,classNames:a.join(" ")}}function f(e,t=[],n="id"){const o=s(e,n);return o?t.some((e=>s(e,n)===o)):t.some((t=>t===e))}function h(e,t){return t?e.findIndex((e=>w(e.id,t))):-1}function w(e,t){return e==t}function x(e,t){const n=!e.toggleOnSelectedRowsChange;switch(t.type){case"SELECT_ALL_ROWS":{const{keyField:n,rows:o,rowCount:a,mergeSelections:l}=t,r=!e.allSelected,i=!e.toggleOnSelectedRowsChange;if(l){const t=r?[...e.selectedRows,...o.filter((t=>!f(t,e.selectedRows,n)))]:e.selectedRows.filter((e=>!f(e,o,n)));return Object.assign(Object.assign({},e),{allSelected:r,selectedCount:t.length,selectedRows:t,toggleOnSelectedRowsChange:i})}return Object.assign(Object.assign({},e),{allSelected:r,selectedCount:r?a:0,selectedRows:r?o:[],toggleOnSelectedRowsChange:i})}case"SELECT_SINGLE_ROW":{const{keyField:o,row:a,isSelected:l,rowCount:r,singleSelect:i}=t;return i?l?Object.assign(Object.assign({},e),{selectedCount:0,allSelected:!1,selectedRows:[],toggleOnSelectedRowsChange:n}):Object.assign(Object.assign({},e),{selectedCount:1,allSelected:!1,selectedRows:[a],toggleOnSelectedRowsChange:n}):l?Object.assign(Object.assign({},e),{selectedCount:e.selectedRows.length>0?e.selectedRows.length-1:0,allSelected:!1,selectedRows:c(e.selectedRows,a,o),toggleOnSelectedRowsChange:n}):Object.assign(Object.assign({},e),{selectedCount:e.selectedRows.length+1,allSelected:e.selectedRows.length+1===r,selectedRows:d(e.selectedRows,a),toggleOnSelectedRowsChange:n})}case"SELECT_MULTIPLE_ROWS":{const{keyField:o,selectedRows:a,totalRows:l,mergeSelections:r}=t;if(r){const t=[...e.selectedRows,...a.filter((t=>!f(t,e.selectedRows,o)))];return Object.assign(Object.assign({},e),{selectedCount:t.length,allSelected:!1,selectedRows:t,toggleOnSelectedRowsChange:n})}return Object.assign(Object.assign({},e),{selectedCount:a.length,allSelected:a.length===l,selectedRows:a,toggleOnSelectedRowsChange:n})}case"CLEAR_SELECTED_ROWS":{const{selectedRowsFlag:n}=t;return Object.assign(Object.assign({},e),{allSelected:!1,selectedCount:0,selectedRows:[],selectedRowsFlag:n})}case"SORT_CHANGE":{const{sortDirection:o,selectedColumn:a,clearSelectedOnSort:l}=t;return Object.assign(Object.assign(Object.assign({},e),{selectedColumn:a,sortDirection:o,currentPage:1}),l&&{allSelected:!1,selectedCount:0,selectedRows:[],toggleOnSelectedRowsChange:n})}case"CHANGE_PAGE":{const{page:o,paginationServer:a,visibleOnly:l,persistSelectedOnPageChange:r}=t,i=a&&r,s=a&&!r||l;return Object.assign(Object.assign(Object.assign(Object.assign({},e),{currentPage:o}),i&&{allSelected:!1}),s&&{allSelected:!1,selectedCount:0,selectedRows:[],toggleOnSelectedRowsChange:n})}case"CHANGE_ROWS_PER_PAGE":{const{rowsPerPage:n,page:o}=t;return Object.assign(Object.assign({},e),{currentPage:o,rowsPerPage:n})}}}const C=t.css` + pointer-events: none; + opacity: 0.4; +`,y=i.default.div` + position: relative; + box-sizing: border-box; + display: flex; + flex-direction: column; + width: 100%; + height: 100%; + max-width: 100%; + ${({disabled:e})=>e&&C}; + ${({theme:e})=>e.table.style}; +`,v=t.css` + position: sticky; + position: -webkit-sticky; /* Safari */ + top: 0; + z-index: 1; +`,R=i.default.div` + display: flex; + width: 100%; + ${({$fixedHeader:e})=>e&&v}; + ${({theme:e})=>e.head.style}; +`,S=i.default.div` + display: flex; + align-items: stretch; + width: 100%; + ${({theme:e})=>e.headRow.style}; + ${({$dense:e,theme:t})=>e&&t.headRow.denseStyle}; +`,E=(e,...n)=>t.css` + @media screen and (max-width: ${599}px) { + ${t.css(e,...n)} + } + `,O=(e,...n)=>t.css` + @media screen and (max-width: ${959}px) { + ${t.css(e,...n)} + } + `,$=(e,...n)=>t.css` + @media screen and (max-width: ${1280}px) { + ${t.css(e,...n)} + } + `,P=e=>(n,...o)=>t.css` + @media screen and (max-width: ${e}px) { + ${t.css(n,...o)} + } + `,k=i.default.div` + position: relative; + display: flex; + align-items: center; + box-sizing: border-box; + line-height: normal; + ${({theme:e,$headCell:t})=>e[t?"headCells":"cells"].style}; + ${({$noPadding:e})=>e&&"padding: 0"}; +`,D=i.default(k)` + flex-grow: ${({button:e,grow:t})=>0===t||e?0:t||1}; + flex-shrink: 0; + flex-basis: 0; + max-width: ${({maxWidth:e})=>e||"100%"}; + min-width: ${({minWidth:e})=>e||"100px"}; + ${({width:e})=>e&&t.css` + min-width: ${e}; + max-width: ${e}; + `}; + ${({right:e})=>e&&"justify-content: flex-end"}; + ${({button:e,center:t})=>(t||e)&&"justify-content: center"}; + ${({compact:e,button:t})=>(e||t)&&"padding: 0"}; - return maxing - ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) - : timeWaiting; - } + /* handle hiding cells */ + ${({hide:e})=>e&&"sm"===e&&E` + display: none; + `}; + ${({hide:e})=>e&&"md"===e&&O` + display: none; + `}; + ${({hide:e})=>e&&"lg"===e&&$` + display: none; + `}; + ${({hide:e})=>e&&Number.isInteger(e)&&P(e)` + display: none; + `}; +`,H=t.css` + div:first-child { + white-space: ${({$wrapCell:e})=>e?"normal":"nowrap"}; + overflow: ${({$allowOverflow:e})=>e?"visible":"hidden"}; + text-overflow: ellipsis; + } +`,j=i.default(D).attrs((e=>({style:e.style})))` + ${({$renderAsCell:e})=>!e&&H}; + ${({theme:e,$isDragging:t})=>t&&e.cells.draggingStyle}; + ${({$cellStyle:e})=>e}; +`;var F=l.memo((function({id:e,column:t,row:n,rowIndex:o,dataTag:a,isDragging:r,onDragStart:i,onDragOver:s,onDragEnd:d,onDragEnter:c,onDragLeave:g}){const{conditionalStyle:u,classNames:p}=m(n,t.conditionalCellStyles,["rdt_TableCell"]);return l.createElement(j,{id:e,"data-column-id":t.id,role:"cell",className:p,"data-tag":a,$cellStyle:t.style,$renderAsCell:!!t.cell,$allowOverflow:t.allowOverflow,button:t.button,center:t.center,compact:t.compact,grow:t.grow,hide:t.hide,maxWidth:t.maxWidth,minWidth:t.minWidth,right:t.right,width:t.width,$wrapCell:t.wrap,style:u,$isDragging:r,onDragStart:i,onDragOver:s,onDragEnd:d,onDragEnter:c,onDragLeave:g},!t.cell&&l.createElement("div",{"data-tag":a},function(e,t,n,o){return t?n&&"function"==typeof n?n(e,o):t(e,o):null}(n,t.selector,t.format,o)),t.cell&&t.cell(n,o,t,e))}));const T="input";var I=l.memo((function({name:e,component:t=T,componentOptions:n={style:{}},indeterminate:o=!1,checked:a=!1,disabled:r=!1,onClick:i=b}){const s=t,d=s!==T?n.style:(e=>Object.assign(Object.assign({fontSize:"18px"},!e&&{cursor:"pointer"}),{padding:0,marginTop:"1px",verticalAlign:"middle",position:"relative"}))(r),c=l.useMemo((()=>function(e,...t){let n;return Object.keys(e).map((t=>e[t])).forEach(((o,a)=>{const l=e;"function"==typeof o&&(n=Object.assign(Object.assign({},l),{[Object.keys(e)[a]]:o(...t)}));})),n||e}(n,o)),[n,o]);return l.createElement(s,Object.assign({type:"checkbox",ref:e=>{e&&(e.indeterminate=o);},style:d,onClick:r?b:i,name:e,"aria-label":e,checked:a,disabled:r},c,{onChange:b}))}));const M=i.default(k)` + flex: 0 0 48px; + min-width: 48px; + justify-content: center; + align-items: center; + user-select: none; + white-space: nowrap; +`;function A({name:e,keyField:t,row:n,rowCount:o,selected:a,selectableRowsComponent:r,selectableRowsComponentProps:i,selectableRowsSingle:s,selectableRowDisabled:d,onSelectedRow:c}){const g=!(!d||!d(n));return l.createElement(M,{onClick:e=>e.stopPropagation(),className:"rdt_TableCell",$noPadding:!0},l.createElement(I,{name:e,component:r,componentOptions:i,checked:a,"aria-checked":a,onClick:()=>{c({type:"SELECT_SINGLE_ROW",row:n,isSelected:a,keyField:t,rowCount:o,singleSelect:s});},disabled:g}))}const L=i.default.button` + display: inline-flex; + align-items: center; + user-select: none; + white-space: nowrap; + border: none; + background-color: transparent; + ${({theme:e})=>e.expanderButton.style}; +`;function _({disabled:e=!1,expanded:t=!1,expandableIcon:n,id:o,row:a,onToggled:r}){const i=t?n.expanded:n.collapsed;return l.createElement(L,{"aria-disabled":e,onClick:()=>r&&r(a),"data-testid":`expander-button-${o}`,disabled:e,"aria-label":t?"Collapse Row":"Expand Row",role:"button",type:"button"},i)}const z=i.default(k)` + white-space: nowrap; + font-weight: 400; + min-width: 48px; + ${({theme:e})=>e.expanderCell.style}; +`;function N({row:e,expanded:t=!1,expandableIcon:n,id:o,onToggled:a,disabled:r=!1}){return l.createElement(z,{onClick:e=>e.stopPropagation(),$noPadding:!0},l.createElement(_,{id:o,row:e,expanded:t,expandableIcon:n,disabled:r,onToggled:a}))}const W=i.default.div` + width: 100%; + box-sizing: border-box; + ${({theme:e})=>e.expanderRow.style}; + ${({$extendedRowStyle:e})=>e}; +`;var B=l.memo((function({data:e,ExpanderComponent:t,expanderComponentProps:n,extendedRowStyle:o,extendedClassNames:a}){const r=["rdt_ExpanderRow",...a.split(" ").filter((e=>"rdt_TableRow"!==e))].join(" ");return l.createElement(W,{className:r,$extendedRowStyle:o},l.createElement(t,Object.assign({data:e},n)))}));const G="allowRowEvents";var V,U,q;exports.Direction=void 0,(V=exports.Direction||(exports.Direction={})).LTR="ltr",V.RTL="rtl",V.AUTO="auto",exports.Alignment=void 0,(U=exports.Alignment||(exports.Alignment={})).LEFT="left",U.RIGHT="right",U.CENTER="center",exports.Media=void 0,(q=exports.Media||(exports.Media={})).SM="sm",q.MD="md",q.LG="lg";const Y=t.css` + &:hover { + ${({$highlightOnHover:e,theme:t})=>e&&t.rows.highlightOnHoverStyle}; + } +`,K=t.css` + &:hover { + cursor: pointer; + } +`,J=i.default.div.attrs((e=>({style:e.style})))` + display: flex; + align-items: stretch; + align-content: stretch; + width: 100%; + box-sizing: border-box; + ${({theme:e})=>e.rows.style}; + ${({$dense:e,theme:t})=>e&&t.rows.denseStyle}; + ${({$striped:e,theme:t})=>e&&t.rows.stripedStyle}; + ${({$highlightOnHover:e})=>e&&Y}; + ${({$pointerOnHover:e})=>e&&K}; + ${({$selected:e,theme:t})=>e&&t.rows.selectedHighlightStyle}; + ${({$conditionalStyle:e})=>e}; +`;function Q({columns:e=[],conditionalRowStyles:t=[],defaultExpanded:n=!1,defaultExpanderDisabled:o=!1,dense:a=!1,expandableIcon:r,expandableRows:i=!1,expandableRowsComponent:d,expandableRowsComponentProps:c,expandableRowsHideExpander:g,expandOnRowClicked:u=!1,expandOnRowDoubleClicked:p=!1,highlightOnHover:f=!1,id:h,expandableInheritConditionalStyles:x,keyField:C,onRowClicked:y=b,onRowDoubleClicked:v=b,onRowMouseEnter:R=b,onRowMouseLeave:S=b,onRowExpandToggled:E=b,onSelectedRow:O=b,pointerOnHover:$=!1,row:P,rowCount:k,rowIndex:D,selectableRowDisabled:H=null,selectableRows:j=!1,selectableRowsComponent:T,selectableRowsComponentProps:I,selectableRowsHighlight:M=!1,selectableRowsSingle:L=!1,selected:_,striped:z=!1,draggingColumnId:W,onDragStart:V,onDragOver:U,onDragEnd:q,onDragEnter:Y,onDragLeave:K}){const[Q,X]=l.useState(n);l.useEffect((()=>{X(n);}),[n]);const Z=l.useCallback((()=>{X(!Q),E(!Q,P);}),[Q,E,P]),ee=$||i&&(u||p),te=l.useCallback((e=>{e.target.getAttribute("data-tag")===G&&(y(P,e),!o&&i&&u&&Z());}),[o,u,i,Z,y,P]),ne=l.useCallback((e=>{e.target.getAttribute("data-tag")===G&&(v(P,e),!o&&i&&p&&Z());}),[o,p,i,Z,v,P]),oe=l.useCallback((e=>{R(P,e);}),[R,P]),ae=l.useCallback((e=>{S(P,e);}),[S,P]),le=s(P,C),{conditionalStyle:re,classNames:ie}=m(P,t,["rdt_TableRow"]),se=M&&_,de=x?re:{},ce=z&&D%2==0;return l.createElement(l.Fragment,null,l.createElement(J,{id:`row-${h}`,role:"row",$striped:ce,$highlightOnHover:f,$pointerOnHover:!o&&ee,$dense:a,onClick:te,onDoubleClick:ne,onMouseEnter:oe,onMouseLeave:ae,className:ie,$selected:se,$conditionalStyle:re},j&&l.createElement(A,{name:`select-row-${le}`,keyField:C,row:P,rowCount:k,selected:_,selectableRowsComponent:T,selectableRowsComponentProps:I,selectableRowDisabled:H,selectableRowsSingle:L,onSelectedRow:O}),i&&!g&&l.createElement(N,{id:le,expandableIcon:r,expanded:Q,row:P,onToggled:Z,disabled:o}),e.map((e=>e.omit?null:l.createElement(F,{id:`cell-${e.id}-${le}`,key:`cell-${e.id}-${le}`,dataTag:e.ignoreRowClick||e.button?null:G,column:e,row:P,rowIndex:D,isDragging:w(W,e.id),onDragStart:V,onDragOver:U,onDragEnd:q,onDragEnter:Y,onDragLeave:K})))),i&&Q&&l.createElement(B,{key:`expander-${le}`,data:P,extendedRowStyle:de,extendedClassNames:ie,ExpanderComponent:d,expanderComponentProps:c}))}const X=i.default.span` + padding: 2px; + color: inherit; + flex-grow: 0; + flex-shrink: 0; + ${({$sortActive:e})=>e?"opacity: 1":"opacity: 0"}; + ${({$sortDirection:e})=>"desc"===e&&"transform: rotate(180deg)"}; +`,Z=({sortActive:e,sortDirection:t})=>r.default.createElement(X,{$sortActive:e,$sortDirection:t},"▲"),ee=i.default(D)` + ${({button:e})=>e&&"text-align: center"}; + ${({theme:e,$isDragging:t})=>t&&e.headCells.draggingStyle}; +`,te=t.css` + cursor: pointer; + span.__rdt_custom_sort_icon__ { + i, + svg { + transform: 'translate3d(0, 0, 0)'; + ${({$sortActive:e})=>e?"opacity: 1":"opacity: 0"}; + color: inherit; + font-size: 18px; + height: 18px; + width: 18px; + backface-visibility: hidden; + transform-style: preserve-3d; + transition-duration: 95ms; + transition-property: transform; + } - function shouldInvoke(time) { - var timeSinceLastCall = time - lastCallTime, - timeSinceLastInvoke = time - lastInvokeTime; + &.asc i, + &.asc svg { + transform: rotate(180deg); + } + } - // Either this is the first call, activity has stopped and we're at the - // trailing edge, the system time has gone backwards and we're treating - // it as the trailing edge, or we've hit the `maxWait` limit. - return (lastCallTime === undefined || (timeSinceLastCall >= wait) || - (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait)); - } + ${({$sortActive:e})=>!e&&t.css` + &:hover, + &:focus { + opacity: 0.7; - function timerExpired() { - var time = now(); - if (shouldInvoke(time)) { - return trailingEdge(time); - } - // Restart the timer. - timerId = setTimeout(timerExpired, remainingWait(time)); - } - - function trailingEdge(time) { - timerId = undefined; - - // Only invoke if we have `lastArgs` which means `func` has been - // debounced at least once. - if (trailing && lastArgs) { - return invokeFunc(time); - } - lastArgs = lastThis = undefined; - return result; - } - - function cancel() { - if (timerId !== undefined) { - clearTimeout(timerId); - } - lastInvokeTime = 0; - lastArgs = lastCallTime = lastThis = timerId = undefined; - } - - function flush() { - return timerId === undefined ? result : trailingEdge(now()); - } - - function debounced() { - var time = now(), - isInvoking = shouldInvoke(time); - - lastArgs = arguments; - lastThis = this; - lastCallTime = time; + span, + span.__rdt_custom_sort_icon__ * { + opacity: 0.7; + } + } + `}; +`,ne=i.default.div` + display: inline-flex; + align-items: center; + justify-content: inherit; + height: 100%; + width: 100%; + outline: none; + user-select: none; + overflow: hidden; + ${({disabled:e})=>!e&&te}; +`,oe=i.default.div` + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +`;var ae=l.memo((function({column:e,disabled:t,draggingColumnId:n,selectedColumn:o={},sortDirection:r,sortIcon:i,sortServer:s,pagination:d,paginationServer:c,persistSelectedOnSort:g,selectableRowsVisibleOnly:u,onSort:p,onDragStart:b,onDragOver:m,onDragEnd:f,onDragEnter:h,onDragLeave:x}){l.useEffect((()=>{"string"==typeof e.selector&&console.error(`Warning: ${e.selector} is a string based column selector which has been deprecated as of v7 and will be removed in v8. Instead, use a selector function e.g. row => row[field]...`);}),[]);const[C,y]=l.useState(!1),v=l.useRef(null);if(l.useEffect((()=>{v.current&&y(v.current.scrollWidth>v.current.clientWidth);}),[C]),e.omit)return null;const R=()=>{if(!e.sortable&&!e.selector)return;let t=r;w(o.id,e.id)&&(t=r===a.ASC?a.DESC:a.ASC),p({type:"SORT_CHANGE",sortDirection:t,selectedColumn:e,clearSelectedOnSort:d&&c&&!g||s||u});},S=e=>l.createElement(Z,{sortActive:e,sortDirection:r}),E=()=>l.createElement("span",{className:[r,"__rdt_custom_sort_icon__"].join(" ")},i),O=!(!e.sortable||!w(o.id,e.id)),$=!e.sortable||t,P=e.sortable&&!i&&!e.right,k=e.sortable&&!i&&e.right,D=e.sortable&&i&&!e.right,H=e.sortable&&i&&e.right;return l.createElement(ee,{"data-column-id":e.id,className:"rdt_TableCol",$headCell:!0,allowOverflow:e.allowOverflow,button:e.button,compact:e.compact,grow:e.grow,hide:e.hide,maxWidth:e.maxWidth,minWidth:e.minWidth,right:e.right,center:e.center,width:e.width,draggable:e.reorder,$isDragging:w(e.id,n),onDragStart:b,onDragOver:m,onDragEnd:f,onDragEnter:h,onDragLeave:x},e.name&&l.createElement(ne,{"data-column-id":e.id,"data-sort-id":e.id,role:"columnheader",tabIndex:0,className:"rdt_TableCol_Sortable",onClick:$?void 0:R,onKeyPress:$?void 0:e=>{"Enter"===e.key&&R();},$sortActive:!$&&O,disabled:$},!$&&H&&E(),!$&&k&&S(O),"string"==typeof e.name?l.createElement(oe,{title:C?e.name:void 0,ref:v,"data-column-id":e.id},e.name):e.name,!$&&D&&E(),!$&&P&&S(O)))}));const le=i.default(k)` + flex: 0 0 48px; + justify-content: center; + align-items: center; + user-select: none; + white-space: nowrap; + font-size: unset; +`;function re({headCell:e=!0,rowData:t,keyField:n,allSelected:o,mergeSelections:a,selectedRows:r,selectableRowsComponent:i,selectableRowsComponentProps:s,selectableRowDisabled:d,onSelectAllRows:c}){const g=r.length>0&&!o,u=d?t.filter((e=>!d(e))):t,p=0===u.length,b=Math.min(t.length,u.length);return l.createElement(le,{className:"rdt_TableCol",$headCell:e,$noPadding:!0},l.createElement(I,{name:"select-all-rows",component:i,componentOptions:s,onClick:()=>{c({type:"SELECT_ALL_ROWS",rows:u,rowCount:b,mergeSelections:a,keyField:n});},checked:o,indeterminate:g,disabled:p}))}function ie(e=exports.Direction.AUTO){const t="object"==typeof window,[n,o]=l.useState(!1);return l.useEffect((()=>{if(t)if("auto"!==e)o("rtl"===e);else {const e=!(!window.document||!window.document.createElement),t=document.getElementsByTagName("BODY")[0],n=document.getElementsByTagName("HTML")[0],a="rtl"===t.dir||"rtl"===n.dir;o(e&&a);}}),[e,t]),n}const se=i.default.div` + display: flex; + align-items: center; + flex: 1 0 auto; + height: 100%; + color: ${({theme:e})=>e.contextMenu.fontColor}; + font-size: ${({theme:e})=>e.contextMenu.fontSize}; + font-weight: 400; +`,de=i.default.div` + display: flex; + align-items: center; + justify-content: flex-end; + flex-wrap: wrap; +`,ce=i.default.div` + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + box-sizing: inherit; + z-index: 1; + align-items: center; + justify-content: space-between; + display: flex; + ${({$rtl:e})=>e&&"direction: rtl"}; + ${({theme:e})=>e.contextMenu.style}; + ${({theme:e,$visible:t})=>t&&e.contextMenu.activeStyle}; +`;function ge({contextMessage:e,contextActions:t,contextComponent:n,selectedCount:o,direction:a}){const r=ie(a),i=o>0;return n?l.createElement(ce,{$visible:i},l.cloneElement(n,{selectedCount:o})):l.createElement(ce,{$visible:i,$rtl:r},l.createElement(se,null,((e,t,n)=>{if(0===t)return null;const o=1===t?e.singular:e.plural;return n?`${t} ${e.message||""} ${o}`:`${t} ${o} ${e.message||""}`})(e,o,r)),l.createElement(de,null,t))}const ue=i.default.div` + position: relative; + box-sizing: border-box; + overflow: hidden; + display: flex; + flex: 1 1 auto; + align-items: center; + justify-content: space-between; + width: 100%; + flex-wrap: wrap; + ${({theme:e})=>e.header.style} +`,pe=i.default.div` + flex: 1 0 auto; + color: ${({theme:e})=>e.header.fontColor}; + font-size: ${({theme:e})=>e.header.fontSize}; + font-weight: 400; +`,be=i.default.div` + flex: 1 0 auto; + display: flex; + align-items: center; + justify-content: flex-end; - if (isInvoking) { - if (timerId === undefined) { - return leadingEdge(lastCallTime); - } - if (maxing) { - // Handle invocations in a tight loop. - clearTimeout(timerId); - timerId = setTimeout(timerExpired, wait); - return invokeFunc(lastCallTime); - } - } - if (timerId === undefined) { - timerId = setTimeout(timerExpired, wait); - } - return result; - } - debounced.cancel = cancel; - debounced.flush = flush; - return debounced; + > * { + margin-left: 5px; } +`,me=({title:e,actions:t=null,contextMessage:n,contextActions:o,contextComponent:a,selectedCount:r,direction:i,showMenu:s=!0})=>l.createElement(ue,{className:"rdt_TableHeader",role:"heading","aria-level":1},l.createElement(pe,null,e),t&&l.createElement(be,null,t),s&&l.createElement(ge,{contextMessage:n,contextActions:o,contextComponent:a,direction:i,selectedCount:r}));function fe(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(o=Object.getOwnPropertySymbols(e);ahe[e]}; + flex-wrap: ${({$wrapContent:e})=>e?"wrap":"nowrap"}; + ${({theme:e})=>e.subHeader.style} +`,xe=e=>{var{align:t="right",wrapContent:n=!0}=e,o=fe(e,["align","wrapContent"]);return l.createElement(we,Object.assign({align:t,$wrapContent:n},o))},Ce=i.default.div` + display: flex; + flex-direction: column; +`,ye=i.default.div` + position: relative; + width: 100%; + border-radius: inherit; + ${({$responsive:e,$fixedHeader:n})=>e&&t.css` + overflow-x: auto; - var debounce_1 = debounce; + // hidden prevents vertical scrolling in firefox when fixedHeader is disabled + overflow-y: ${n?"auto":"hidden"}; + min-height: 0; + `}; - var index_cjs = {}; + ${({$fixedHeader:e=!1,$fixedHeaderScrollHeight:n="100vh"})=>e&&t.css` + max-height: ${n}; + -webkit-overflow-scrolling: touch; + `}; - var reactIs$2 = {exports: {}}; + ${({theme:e})=>e.responsiveWrapper.style}; +`,ve=i.default.div` + position: relative; + box-sizing: border-box; + width: 100%; + height: 100%; + ${e=>e.theme.progress.style}; +`,Re=i.default.div` + position: relative; + width: 100%; + ${({theme:e})=>e.tableWrapper.style}; +`,Se=i.default(k)` + white-space: nowrap; + ${({theme:e})=>e.expanderCell.style}; +`,Ee=i.default.div` + box-sizing: border-box; + width: 100%; + height: 100%; + ${({theme:e})=>e.noData.style}; +`,Oe=()=>r.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},r.default.createElement("path",{d:"M7 10l5 5 5-5z"}),r.default.createElement("path",{d:"M0 0h24v24H0z",fill:"none"})),$e=i.default.select` + cursor: pointer; + height: 24px; + max-width: 100%; + user-select: none; + padding-left: 8px; + padding-right: 24px; + box-sizing: content-box; + font-size: inherit; + color: inherit; + border: none; + background-color: transparent; + appearance: none; + direction: ltr; + flex-shrink: 0; - var reactIs_development$1 = {}; + &::-ms-expand { + display: none; + } - /** - * @license React - * react-is.development.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ + &:disabled::-ms-expand { + background: #f60; + } - { - (function() { - - // ATTENTION - // When adding new symbols to this file, - // Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols' - // The Symbol used to tag the ReactElement-like types. - var REACT_ELEMENT_TYPE = Symbol.for('react.element'); - var REACT_PORTAL_TYPE = Symbol.for('react.portal'); - var REACT_FRAGMENT_TYPE = Symbol.for('react.fragment'); - var REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode'); - var REACT_PROFILER_TYPE = Symbol.for('react.profiler'); - var REACT_PROVIDER_TYPE = Symbol.for('react.provider'); - var REACT_CONTEXT_TYPE = Symbol.for('react.context'); - var REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context'); - var REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref'); - var REACT_SUSPENSE_TYPE = Symbol.for('react.suspense'); - var REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list'); - var REACT_MEMO_TYPE = Symbol.for('react.memo'); - var REACT_LAZY_TYPE = Symbol.for('react.lazy'); - var REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen'); - - // ----------------------------------------------------------------------------- - - var enableScopeAPI = false; // Experimental Create Event Handle API. - var enableCacheElement = false; - var enableTransitionTracing = false; // No known bugs, but needs performance testing - - var enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber - // stuff. Intended to enable React core members to more easily debug scheduling - // issues in DEV builds. - - var enableDebugTracing = false; // Track which Fiber(s) schedule render work. - - var REACT_MODULE_REFERENCE; + option { + color: initial; + } +`,Pe=i.default.div` + position: relative; + flex-shrink: 0; + font-size: inherit; + color: inherit; + margin-top: 1px; - { - REACT_MODULE_REFERENCE = Symbol.for('react.module.reference'); + svg { + top: 0; + right: 0; + color: inherit; + position: absolute; + fill: currentColor; + width: 24px; + height: 24px; + display: inline-block; + user-select: none; + pointer-events: none; + } +`,ke=e=>{var{defaultValue:t,onChange:n}=e,o=fe(e,["defaultValue","onChange"]);return l.createElement(Pe,null,l.createElement($e,Object.assign({onChange:n,defaultValue:t},o)),l.createElement(Oe,null))},De={columns:[],data:[],title:"",keyField:"id",selectableRows:!1,selectableRowsHighlight:!1,selectableRowsNoSelectAll:!1,selectableRowSelected:null,selectableRowDisabled:null,selectableRowsComponent:"input",selectableRowsComponentProps:{},selectableRowsVisibleOnly:!1,selectableRowsSingle:!1,clearSelectedRows:!1,expandableRows:!1,expandableRowDisabled:null,expandableRowExpanded:null,expandOnRowClicked:!1,expandableRowsHideExpander:!1,expandOnRowDoubleClicked:!1,expandableInheritConditionalStyles:!1,expandableRowsComponent:function(){return r.default.createElement("div",null,"To add an expander pass in a component instance via ",r.default.createElement("strong",null,"expandableRowsComponent"),". You can then access props.data from this component.")},expandableIcon:{collapsed:r.default.createElement((()=>r.default.createElement("svg",{fill:"currentColor",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg"},r.default.createElement("path",{d:"M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"}),r.default.createElement("path",{d:"M0-.25h24v24H0z",fill:"none"}))),null),expanded:r.default.createElement((()=>r.default.createElement("svg",{fill:"currentColor",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg"},r.default.createElement("path",{d:"M7.41 7.84L12 12.42l4.59-4.58L18 9.25l-6 6-6-6z"}),r.default.createElement("path",{d:"M0-.75h24v24H0z",fill:"none"}))),null)},expandableRowsComponentProps:{},progressPending:!1,progressComponent:r.default.createElement("div",{style:{fontSize:"24px",fontWeight:700,padding:"24px"}},"Loading..."),persistTableHead:!1,sortIcon:null,sortFunction:null,sortServer:!1,striped:!1,highlightOnHover:!1,pointerOnHover:!1,noContextMenu:!1,contextMessage:{singular:"item",plural:"items",message:"selected"},actions:null,contextActions:null,contextComponent:null,defaultSortFieldId:null,defaultSortAsc:!0,responsive:!0,noDataComponent:r.default.createElement("div",{style:{padding:"24px"}},"There are no records to display"),disabled:!1,noTableHead:!1,noHeader:!1,subHeader:!1,subHeaderAlign:exports.Alignment.RIGHT,subHeaderWrap:!0,subHeaderComponent:null,fixedHeader:!1,fixedHeaderScrollHeight:"100vh",pagination:!1,paginationServer:!1,paginationServerOptions:{persistSelectedOnSort:!1,persistSelectedOnPageChange:!1},paginationDefaultPage:1,paginationResetDefaultPage:!1,paginationTotalRows:0,paginationPerPage:10,paginationRowsPerPageOptions:[10,15,20,25,30],paginationComponent:null,paginationComponentOptions:{},paginationIconFirstPage:r.default.createElement((()=>r.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24","aria-hidden":"true",role:"presentation"},r.default.createElement("path",{d:"M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z"}),r.default.createElement("path",{fill:"none",d:"M24 24H0V0h24v24z"}))),null),paginationIconLastPage:r.default.createElement((()=>r.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24","aria-hidden":"true",role:"presentation"},r.default.createElement("path",{d:"M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z"}),r.default.createElement("path",{fill:"none",d:"M0 0h24v24H0V0z"}))),null),paginationIconNext:r.default.createElement((()=>r.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24","aria-hidden":"true",role:"presentation"},r.default.createElement("path",{d:"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),r.default.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}))),null),paginationIconPrevious:r.default.createElement((()=>r.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24","aria-hidden":"true",role:"presentation"},r.default.createElement("path",{d:"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"}),r.default.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}))),null),dense:!1,conditionalRowStyles:[],theme:"default",customStyles:{},direction:exports.Direction.AUTO,onChangePage:b,onChangeRowsPerPage:b,onRowClicked:b,onRowDoubleClicked:b,onRowMouseEnter:b,onRowMouseLeave:b,onRowExpandToggled:b,onSelectedRowsChange:b,onSort:b,onColumnOrderChange:b},He={rowsPerPageText:"Rows per page:",rangeSeparatorText:"of",noRowsPerPage:!1,selectAllRowsItem:!1,selectAllRowsItemText:"All"},je=i.default.nav` + display: flex; + flex: 1 1 auto; + justify-content: flex-end; + align-items: center; + box-sizing: border-box; + padding-right: 8px; + padding-left: 8px; + width: 100%; + ${({theme:e})=>e.pagination.style}; +`,Fe=i.default.button` + position: relative; + display: block; + user-select: none; + border: none; + ${({theme:e})=>e.pagination.pageButtonsStyle}; + ${({$isRTL:e})=>e&&"transform: scale(-1, -1)"}; +`,Te=i.default.div` + display: flex; + align-items: center; + border-radius: 4px; + white-space: nowrap; + ${E` + width: 100%; + justify-content: space-around; + `}; +`,Ie=i.default.span` + flex-shrink: 1; + user-select: none; +`,Me=i.default(Ie)` + margin: 0 24px; +`,Ae=i.default(Ie)` + margin: 0 4px; +`;var Le=l.memo((function({rowsPerPage:e,rowCount:t,currentPage:n,direction:o=De.direction,paginationRowsPerPageOptions:a=De.paginationRowsPerPageOptions,paginationIconLastPage:r=De.paginationIconLastPage,paginationIconFirstPage:i=De.paginationIconFirstPage,paginationIconNext:s=De.paginationIconNext,paginationIconPrevious:d=De.paginationIconPrevious,paginationComponentOptions:c=De.paginationComponentOptions,onChangeRowsPerPage:g=De.onChangeRowsPerPage,onChangePage:p=De.onChangePage}){const b=(()=>{const e="object"==typeof window;function t(){return {width:e?window.innerWidth:void 0,height:e?window.innerHeight:void 0}}const[n,o]=l.useState(t);return l.useEffect((()=>{if(!e)return ()=>null;function n(){o(t());}return window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)}),[]),n})(),m=ie(o),f=b.width&&b.width>599,h=u(t,e),w=n*e,x=w-e+1,C=1===n,y=n===h,v=Object.assign(Object.assign({},He),c),R=n===h?`${x}-${t} ${v.rangeSeparatorText} ${t}`:`${x}-${w} ${v.rangeSeparatorText} ${t}`,S=l.useCallback((()=>p(n-1)),[n,p]),E=l.useCallback((()=>p(n+1)),[n,p]),O=l.useCallback((()=>p(1)),[p]),$=l.useCallback((()=>p(u(t,e))),[p,t,e]),P=l.useCallback((e=>g(Number(e.target.value),n)),[n,g]),k=a.map((e=>l.createElement("option",{key:e,value:e},e)));v.selectAllRowsItem&&k.push(l.createElement("option",{key:-1,value:t},v.selectAllRowsItemText));const D=l.createElement(ke,{onChange:P,defaultValue:e,"aria-label":v.rowsPerPageText},k);return l.createElement(je,{className:"rdt_Pagination"},!v.noRowsPerPage&&f&&l.createElement(l.Fragment,null,l.createElement(Ae,null,v.rowsPerPageText),D),f&&l.createElement(Me,null,R),l.createElement(Te,null,l.createElement(Fe,{id:"pagination-first-page",type:"button","aria-label":"First Page","aria-disabled":C,onClick:O,disabled:C,$isRTL:m},i),l.createElement(Fe,{id:"pagination-previous-page",type:"button","aria-label":"Previous Page","aria-disabled":C,onClick:S,disabled:C,$isRTL:m},d),!v.noRowsPerPage&&!f&&D,l.createElement(Fe,{id:"pagination-next-page",type:"button","aria-label":"Next Page","aria-disabled":y,onClick:E,disabled:y,$isRTL:m},s),l.createElement(Fe,{id:"pagination-last-page",type:"button","aria-label":"Last Page","aria-disabled":y,onClick:$,disabled:y,$isRTL:m},r)))}));const _e=(e,t)=>{const n=l.useRef(!0);l.useEffect((()=>{n.current?n.current=!1:e();}),t);};function ze(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ne=function(e){return function(e){return !!e&&"object"==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return "[object RegExp]"===t||"[object Date]"===t||function(e){return e.$$typeof===We}(e)}(e)};var We="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function Be(e,t){return !1!==t.clone&&t.isMergeableObject(e)?Ye((n=e,Array.isArray(n)?[]:{}),e,t):e;var n;}function Ge(e,t,n){return e.concat(t).map((function(e){return Be(e,n)}))}function Ve(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return Object.propertyIsEnumerable.call(e,t)})):[]}(e))}function Ue(e,t){try{return t in e}catch(e){return !1}}function qe(e,t,n){var o={};return n.isMergeableObject(e)&&Ve(e).forEach((function(t){o[t]=Be(e[t],n);})),Ve(t).forEach((function(a){(function(e,t){return Ue(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,a)||(Ue(e,a)&&n.isMergeableObject(t[a])?o[a]=function(e,t){if(!t.customMerge)return Ye;var n=t.customMerge(e);return "function"==typeof n?n:Ye}(a,n)(e[a],t[a],n):o[a]=Be(t[a],n));})),o}function Ye(e,t,n){(n=n||{}).arrayMerge=n.arrayMerge||Ge,n.isMergeableObject=n.isMergeableObject||Ne,n.cloneUnlessOtherwiseSpecified=Be;var o=Array.isArray(t);return o===Array.isArray(e)?o?n.arrayMerge(e,t,n):qe(e,t,n):Be(t,n)}Ye.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce((function(e,n){return Ye(e,n,t)}),{})};var Ke=ze(Ye);const Je={text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.54)",disabled:"rgba(0, 0, 0, 0.38)"},background:{default:"#FFFFFF"},context:{background:"#e3f2fd",text:"rgba(0, 0, 0, 0.87)"},divider:{default:"rgba(0,0,0,.12)"},button:{default:"rgba(0,0,0,.54)",focus:"rgba(0,0,0,.12)",hover:"rgba(0,0,0,.12)",disabled:"rgba(0, 0, 0, .18)"},selected:{default:"#e3f2fd",text:"rgba(0, 0, 0, 0.87)"},highlightOnHover:{default:"#EEEEEE",text:"rgba(0, 0, 0, 0.87)"},striped:{default:"#FAFAFA",text:"rgba(0, 0, 0, 0.87)"}},Qe={default:Je,light:Je,dark:{text:{primary:"#FFFFFF",secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(0,0,0,.12)"},background:{default:"#424242"},context:{background:"#E91E63",text:"#FFFFFF"},divider:{default:"rgba(81, 81, 81, 1)"},button:{default:"#FFFFFF",focus:"rgba(255, 255, 255, .54)",hover:"rgba(255, 255, 255, .12)",disabled:"rgba(255, 255, 255, .18)"},selected:{default:"rgba(0, 0, 0, .7)",text:"#FFFFFF"},highlightOnHover:{default:"rgba(0, 0, 0, .7)",text:"#FFFFFF"},striped:{default:"rgba(0, 0, 0, .87)",text:"#FFFFFF"}}};function Xe(e,t,n,o){const[r,i]=l.useState((()=>g(e))),[s,d]=l.useState(""),c=l.useRef("");_e((()=>{i(g(e));}),[e]);const u=l.useCallback((e=>{var t,n,o;const{attributes:a}=e.target,l=null===(t=a.getNamedItem("data-column-id"))||void 0===t?void 0:t.value;l&&(c.current=(null===(o=null===(n=r[h(r,l)])||void 0===n?void 0:n.id)||void 0===o?void 0:o.toString())||"",d(c.current));}),[r]),p=l.useCallback((e=>{var n;const{attributes:o}=e.target,a=null===(n=o.getNamedItem("data-column-id"))||void 0===n?void 0:n.value;if(a&&c.current&&a!==c.current){const e=h(r,c.current),n=h(r,a),o=[...r];o[e]=r[n],o[n]=r[e],i(o),t(o);}}),[t,r]),b=l.useCallback((e=>{e.preventDefault();}),[]),m=l.useCallback((e=>{e.preventDefault();}),[]),f=l.useCallback((e=>{e.preventDefault(),c.current="",d("");}),[]),w=function(e=!1){return e?a.ASC:a.DESC}(o),x=l.useMemo((()=>r[h(r,null==n?void 0:n.toString())]||{}),[n,r]);return {tableColumns:r,draggingColumnId:s,handleDragStart:u,handleDragEnter:p,handleDragOver:b,handleDragLeave:m,handleDragEnd:f,defaultSortDirection:w,defaultSortColumn:x}}var Ze=l.memo((function(e){const{data:n=De.data,columns:o=De.columns,title:r=De.title,actions:i=De.actions,keyField:d=De.keyField,striped:c=De.striped,highlightOnHover:g=De.highlightOnHover,pointerOnHover:b=De.pointerOnHover,dense:m=De.dense,selectableRows:h=De.selectableRows,selectableRowsSingle:w=De.selectableRowsSingle,selectableRowsHighlight:C=De.selectableRowsHighlight,selectableRowsNoSelectAll:v=De.selectableRowsNoSelectAll,selectableRowsVisibleOnly:E=De.selectableRowsVisibleOnly,selectableRowSelected:O=De.selectableRowSelected,selectableRowDisabled:$=De.selectableRowDisabled,selectableRowsComponent:P=De.selectableRowsComponent,selectableRowsComponentProps:D=De.selectableRowsComponentProps,onRowExpandToggled:H=De.onRowExpandToggled,onSelectedRowsChange:j=De.onSelectedRowsChange,expandableIcon:F=De.expandableIcon,onChangeRowsPerPage:T=De.onChangeRowsPerPage,onChangePage:I=De.onChangePage,paginationServer:M=De.paginationServer,paginationServerOptions:A=De.paginationServerOptions,paginationTotalRows:L=De.paginationTotalRows,paginationDefaultPage:_=De.paginationDefaultPage,paginationResetDefaultPage:z=De.paginationResetDefaultPage,paginationPerPage:N=De.paginationPerPage,paginationRowsPerPageOptions:W=De.paginationRowsPerPageOptions,paginationIconLastPage:B=De.paginationIconLastPage,paginationIconFirstPage:G=De.paginationIconFirstPage,paginationIconNext:V=De.paginationIconNext,paginationIconPrevious:U=De.paginationIconPrevious,paginationComponent:q=De.paginationComponent,paginationComponentOptions:Y=De.paginationComponentOptions,responsive:K=De.responsive,progressPending:J=De.progressPending,progressComponent:X=De.progressComponent,persistTableHead:Z=De.persistTableHead,noDataComponent:ee=De.noDataComponent,disabled:te=De.disabled,noTableHead:ne=De.noTableHead,noHeader:oe=De.noHeader,fixedHeader:le=De.fixedHeader,fixedHeaderScrollHeight:ie=De.fixedHeaderScrollHeight,pagination:se=De.pagination,subHeader:de=De.subHeader,subHeaderAlign:ce=De.subHeaderAlign,subHeaderWrap:ge=De.subHeaderWrap,subHeaderComponent:ue=De.subHeaderComponent,noContextMenu:pe=De.noContextMenu,contextMessage:be=De.contextMessage,contextActions:fe=De.contextActions,contextComponent:he=De.contextComponent,expandableRows:we=De.expandableRows,onRowClicked:Oe=De.onRowClicked,onRowDoubleClicked:$e=De.onRowDoubleClicked,onRowMouseEnter:Pe=De.onRowMouseEnter,onRowMouseLeave:ke=De.onRowMouseLeave,sortIcon:He=De.sortIcon,onSort:je=De.onSort,sortFunction:Fe=De.sortFunction,sortServer:Te=De.sortServer,expandableRowsComponent:Ie=De.expandableRowsComponent,expandableRowsComponentProps:Me=De.expandableRowsComponentProps,expandableRowDisabled:Ae=De.expandableRowDisabled,expandableRowsHideExpander:ze=De.expandableRowsHideExpander,expandOnRowClicked:Ne=De.expandOnRowClicked,expandOnRowDoubleClicked:We=De.expandOnRowDoubleClicked,expandableRowExpanded:Be=De.expandableRowExpanded,expandableInheritConditionalStyles:Ge=De.expandableInheritConditionalStyles,defaultSortFieldId:Ve=De.defaultSortFieldId,defaultSortAsc:Ue=De.defaultSortAsc,clearSelectedRows:qe=De.clearSelectedRows,conditionalRowStyles:Ye=De.conditionalRowStyles,theme:Je=De.theme,customStyles:Ze=De.customStyles,direction:et=De.direction,onColumnOrderChange:tt=De.onColumnOrderChange,className:nt}=e,{tableColumns:ot,draggingColumnId:at,handleDragStart:lt,handleDragEnter:rt,handleDragOver:it,handleDragLeave:st,handleDragEnd:dt,defaultSortDirection:ct,defaultSortColumn:gt}=Xe(o,tt,Ve,Ue),[{rowsPerPage:ut,currentPage:pt,selectedRows:bt,allSelected:mt,selectedCount:ft,selectedColumn:ht,sortDirection:wt,toggleOnSelectedRowsChange:xt},Ct]=l.useReducer(x,{allSelected:!1,selectedCount:0,selectedRows:[],selectedColumn:gt,toggleOnSelectedRowsChange:!1,sortDirection:ct,currentPage:_,rowsPerPage:N,selectedRowsFlag:!1,contextMessage:De.contextMessage}),{persistSelectedOnSort:yt=!1,persistSelectedOnPageChange:vt=!1}=A,Rt=!(!M||!vt&&!yt),St=se&&!J&&n.length>0,Et=q||Le,Ot=l.useMemo((()=>((e={},t="default",n="default")=>{const o=Qe[t]?t:n;return Ke({table:{style:{color:(a=Qe[o]).text.primary,backgroundColor:a.background.default}},tableWrapper:{style:{display:"table"}},responsiveWrapper:{style:{}},header:{style:{fontSize:"22px",color:a.text.primary,backgroundColor:a.background.default,minHeight:"56px",paddingLeft:"16px",paddingRight:"8px"}},subHeader:{style:{backgroundColor:a.background.default,minHeight:"52px"}},head:{style:{color:a.text.primary,fontSize:"12px",fontWeight:500}},headRow:{style:{backgroundColor:a.background.default,minHeight:"52px",borderBottomWidth:"1px",borderBottomColor:a.divider.default,borderBottomStyle:"solid"},denseStyle:{minHeight:"32px"}},headCells:{style:{paddingLeft:"16px",paddingRight:"16px"},draggingStyle:{cursor:"move"}},contextMenu:{style:{backgroundColor:a.context.background,fontSize:"18px",fontWeight:400,color:a.context.text,paddingLeft:"16px",paddingRight:"8px",transform:"translate3d(0, -100%, 0)",transitionDuration:"125ms",transitionTimingFunction:"cubic-bezier(0, 0, 0.2, 1)",willChange:"transform"},activeStyle:{transform:"translate3d(0, 0, 0)"}},cells:{style:{paddingLeft:"16px",paddingRight:"16px",wordBreak:"break-word"},draggingStyle:{}},rows:{style:{fontSize:"13px",fontWeight:400,color:a.text.primary,backgroundColor:a.background.default,minHeight:"48px","&:not(:last-of-type)":{borderBottomStyle:"solid",borderBottomWidth:"1px",borderBottomColor:a.divider.default}},denseStyle:{minHeight:"32px"},selectedHighlightStyle:{"&:nth-of-type(n)":{color:a.selected.text,backgroundColor:a.selected.default,borderBottomColor:a.background.default}},highlightOnHoverStyle:{color:a.highlightOnHover.text,backgroundColor:a.highlightOnHover.default,transitionDuration:"0.15s",transitionProperty:"background-color",borderBottomColor:a.background.default,outlineStyle:"solid",outlineWidth:"1px",outlineColor:a.background.default},stripedStyle:{color:a.striped.text,backgroundColor:a.striped.default}},expanderRow:{style:{color:a.text.primary,backgroundColor:a.background.default}},expanderCell:{style:{flex:"0 0 48px"}},expanderButton:{style:{color:a.button.default,fill:a.button.default,backgroundColor:"transparent",borderRadius:"2px",transition:"0.25s",height:"100%",width:"100%","&:hover:enabled":{cursor:"pointer"},"&:disabled":{color:a.button.disabled},"&:hover:not(:disabled)":{cursor:"pointer",backgroundColor:a.button.hover},"&:focus":{outline:"none",backgroundColor:a.button.focus},svg:{margin:"auto"}}},pagination:{style:{color:a.text.secondary,fontSize:"13px",minHeight:"56px",backgroundColor:a.background.default,borderTopStyle:"solid",borderTopWidth:"1px",borderTopColor:a.divider.default},pageButtonsStyle:{borderRadius:"50%",height:"40px",width:"40px",padding:"8px",margin:"px",cursor:"pointer",transition:"0.4s",color:a.button.default,fill:a.button.default,backgroundColor:"transparent","&:disabled":{cursor:"unset",color:a.button.disabled,fill:a.button.disabled},"&:hover:not(:disabled)":{backgroundColor:a.button.hover},"&:focus":{outline:"none",backgroundColor:a.button.focus}}},noData:{style:{display:"flex",alignItems:"center",justifyContent:"center",color:a.text.primary,backgroundColor:a.background.default}},progress:{style:{display:"flex",alignItems:"center",justifyContent:"center",color:a.text.primary,backgroundColor:a.background.default}}},e);var a;})(Ze,Je)),[Ze,Je]),$t=l.useMemo((()=>Object.assign({},"auto"!==et&&{dir:et})),[et]),Pt=l.useMemo((()=>{if(Te)return n;if((null==ht?void 0:ht.sortFunction)&&"function"==typeof ht.sortFunction){const e=ht.sortFunction,t=wt===a.ASC?e:(t,n)=>-1*e(t,n);return [...n].sort(t)}return function(e,t,n,o){return t?o&&"function"==typeof o?o(e.slice(0),t,n):e.slice(0).sort(((e,o)=>{const a=t(e),l=t(o);if("asc"===n){if(al)return 1}if("desc"===n){if(a>l)return -1;if(a{if(se&&!M){const e=pt*ut,t=e-ut;return Pt.slice(t,e)}return Pt}),[pt,se,M,ut,Pt]),Dt=l.useCallback((e=>{Ct(e);}),[]),Ht=l.useCallback((e=>{Ct(e);}),[]),jt=l.useCallback((e=>{Ct(e);}),[]),Ft=l.useCallback(((e,t)=>Oe(e,t)),[Oe]),Tt=l.useCallback(((e,t)=>$e(e,t)),[$e]),It=l.useCallback(((e,t)=>Pe(e,t)),[Pe]),Mt=l.useCallback(((e,t)=>ke(e,t)),[ke]),At=l.useCallback((e=>Ct({type:"CHANGE_PAGE",page:e,paginationServer:M,visibleOnly:E,persistSelectedOnPageChange:vt})),[M,vt,E]),Lt=l.useCallback((e=>{const t=u(L||kt.length,e),n=p(pt,t);M||At(n),Ct({type:"CHANGE_ROWS_PER_PAGE",page:n,rowsPerPage:e});}),[pt,At,M,L,kt.length]);if(se&&!M&&Pt.length>0&&0===kt.length){const e=u(Pt.length,ut),t=p(pt,e);At(t);}_e((()=>{j({allSelected:mt,selectedCount:ft,selectedRows:bt.slice(0)});}),[xt]),_e((()=>{je(ht,wt,Pt.slice(0));}),[ht,wt]),_e((()=>{I(pt,L||Pt.length);}),[pt]),_e((()=>{T(ut,pt);}),[ut]),_e((()=>{At(_);}),[_,z]),_e((()=>{if(se&&M&&L>0){const e=u(L,ut),t=p(pt,e);pt!==t&&At(t);}}),[L]),l.useEffect((()=>{Ct({type:"CLEAR_SELECTED_ROWS",selectedRowsFlag:qe});}),[w,qe]),l.useEffect((()=>{if(!O)return;const e=Pt.filter((e=>O(e))),t=w?e.slice(0,1):e;Ct({type:"SELECT_MULTIPLE_ROWS",keyField:d,selectedRows:t,totalRows:Pt.length,mergeSelections:Rt});}),[n,O]);const _t=E?kt:Pt,zt=vt||w||v;return l.createElement(t.ThemeProvider,{theme:Ot},!oe&&(!!r||!!i)&&l.createElement(me,{title:r,actions:i,showMenu:!pe,selectedCount:ft,direction:et,contextActions:fe,contextComponent:he,contextMessage:be}),de&&l.createElement(xe,{align:ce,wrapContent:ge},ue),l.createElement(ye,Object.assign({$responsive:K,$fixedHeader:le,$fixedHeaderScrollHeight:ie,className:nt},$t),l.createElement(Re,null,J&&!Z&&l.createElement(ve,null,X),l.createElement(y,{disabled:te,className:"rdt_Table",role:"table"},!ne&&(!!Z||Pt.length>0&&!J)&&l.createElement(R,{className:"rdt_TableHead",role:"rowgroup",$fixedHeader:le},l.createElement(S,{className:"rdt_TableHeadRow",role:"row",$dense:m},h&&(zt?l.createElement(k,{style:{flex:"0 0 48px"}}):l.createElement(re,{allSelected:mt,selectedRows:bt,selectableRowsComponent:P,selectableRowsComponentProps:D,selectableRowDisabled:$,rowData:_t,keyField:d,mergeSelections:Rt,onSelectAllRows:Ht})),we&&!ze&&l.createElement(Se,null),ot.map((e=>l.createElement(ae,{key:e.id,column:e,selectedColumn:ht,disabled:J||0===Pt.length,pagination:se,paginationServer:M,persistSelectedOnSort:yt,selectableRowsVisibleOnly:E,sortDirection:wt,sortIcon:He,sortServer:Te,onSort:Dt,onDragStart:lt,onDragOver:it,onDragEnd:dt,onDragEnter:rt,onDragLeave:st,draggingColumnId:at}))))),!Pt.length&&!J&&l.createElement(Ee,null,ee),J&&Z&&l.createElement(ve,null,X),!J&&Pt.length>0&&l.createElement(Ce,{className:"rdt_TableBody",role:"rowgroup"},kt.map(((e,t)=>{const n=s(e,d),o=function(e=""){return "number"!=typeof e&&(!e||0===e.length)}(n)?t:n,a=f(e,bt,d),r=!!(we&&Be&&Be(e)),i=!!(we&&Ae&&Ae(e));return l.createElement(Q,{id:o,key:o,keyField:d,"data-row-id":o,columns:ot,row:e,rowCount:Pt.length,rowIndex:t,selectableRows:h,expandableRows:we,expandableIcon:F,highlightOnHover:g,pointerOnHover:b,dense:m,expandOnRowClicked:Ne,expandOnRowDoubleClicked:We,expandableRowsComponent:Ie,expandableRowsComponentProps:Me,expandableRowsHideExpander:ze,defaultExpanderDisabled:i,defaultExpanded:r,expandableInheritConditionalStyles:Ge,conditionalRowStyles:Ye,selected:a,selectableRowsHighlight:C,selectableRowsComponent:P,selectableRowsComponentProps:D,selectableRowDisabled:$,selectableRowsSingle:w,striped:c,onRowExpandToggled:H,onRowClicked:Ft,onRowDoubleClicked:Tt,onRowMouseEnter:It,onRowMouseLeave:Mt,onSelectedRow:jt,draggingColumnId:at,onDragStart:lt,onDragOver:it,onDragEnd:dt,onDragEnter:rt,onDragLeave:st})})))))),St&&l.createElement("div",null,l.createElement(Et,{onChangePage:At,onChangeRowsPerPage:Lt,rowCount:L||Pt.length,currentPage:pt,rowsPerPage:ut,direction:et,paginationRowsPerPageOptions:W,paginationIconLastPage:B,paginationIconFirstPage:G,paginationIconNext:V,paginationIconPrevious:U,paginationComponentOptions:Y})))}));exports.STOP_PROP_TAG=G,exports.createTheme=function(e="default",t,n="default"){return Qe[e]||(Qe[e]=Ke(Qe[n],t||{})),Qe[e]=Ke(Qe[e],t||{}),Qe[e]},exports.default=Ze,exports.defaultThemes=Qe; + + } (index_cjs)); + return index_cjs; } - function isValidElementType(type) { - if (typeof type === 'string' || typeof type === 'function') { - return true; - } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill). + var index_cjsExports = requireIndex_cjs(); + var DataTable = /*@__PURE__*/getDefaultExportFromCjs(index_cjsExports); + function _typeof(o) { + "@babel/helpers - typeof"; - if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) { - return true; - } + return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { + return typeof o; + } : function (o) { + return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; + }, _typeof(o); + } - if (typeof type === 'object' && type !== null) { - if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object - // types supported by any Flight configuration anywhere since - // we don't know which Flight build this will end up being used - // with. - type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) { - return true; - } + function toPrimitive(t, r) { + if ("object" != _typeof(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != _typeof(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); } - - return false; + return ("string" === r ? String : Number)(t); } - function typeOf(object) { - if (typeof object === 'object' && object !== null) { - var $$typeof = object.$$typeof; - - switch ($$typeof) { - case REACT_ELEMENT_TYPE: - var type = object.type; - - switch (type) { - case REACT_FRAGMENT_TYPE: - case REACT_PROFILER_TYPE: - case REACT_STRICT_MODE_TYPE: - case REACT_SUSPENSE_TYPE: - case REACT_SUSPENSE_LIST_TYPE: - return type; - - default: - var $$typeofType = type && type.$$typeof; - - switch ($$typeofType) { - case REACT_SERVER_CONTEXT_TYPE: - case REACT_CONTEXT_TYPE: - case REACT_FORWARD_REF_TYPE: - case REACT_LAZY_TYPE: - case REACT_MEMO_TYPE: - case REACT_PROVIDER_TYPE: - return $$typeofType; - - default: - return $$typeof; - } + function toPropertyKey(t) { + var i = toPrimitive(t, "string"); + return "symbol" == _typeof(i) ? i : i + ""; + } - } + function _defineProperty(e, r, t) { + return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, { + value: t, + enumerable: !0, + configurable: !0, + writable: !0 + }) : e[r] = t, e; + } - case REACT_PORTAL_TYPE: - return $$typeof; - } + function ownKeys(e, r) { + var t = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function (r) { + return Object.getOwnPropertyDescriptor(e, r).enumerable; + })), t.push.apply(t, o); + } + return t; + } + function _objectSpread2(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { + _defineProperty(e, r, t[r]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { + Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); + }); } + return e; + } - return undefined; + function _arrayWithHoles(r) { + if (Array.isArray(r)) return r; } - var ContextConsumer = REACT_CONTEXT_TYPE; - var ContextProvider = REACT_PROVIDER_TYPE; - var Element = REACT_ELEMENT_TYPE; - var ForwardRef = REACT_FORWARD_REF_TYPE; - var Fragment = REACT_FRAGMENT_TYPE; - var Lazy = REACT_LAZY_TYPE; - var Memo = REACT_MEMO_TYPE; - var Portal = REACT_PORTAL_TYPE; - var Profiler = REACT_PROFILER_TYPE; - var StrictMode = REACT_STRICT_MODE_TYPE; - var Suspense = REACT_SUSPENSE_TYPE; - var SuspenseList = REACT_SUSPENSE_LIST_TYPE; - var hasWarnedAboutDeprecatedIsAsyncMode = false; - var hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated - - function isAsyncMode(object) { - { - if (!hasWarnedAboutDeprecatedIsAsyncMode) { - hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint - console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.'); + function _iterableToArrayLimit(r, l) { + var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; + if (null != t) { + var e, + n, + i, + u, + a = [], + f = !0, + o = !1; + try { + if (i = (t = t.call(r)).next, 0 === l) { + if (Object(t) !== t) return; + f = !1; + } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); + } catch (r) { + o = !0, n = r; + } finally { + try { + if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; + } finally { + if (o) throw n; + } } + return a; } + } - return false; + function _arrayLikeToArray(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; } - function isConcurrentMode(object) { - { - if (!hasWarnedAboutDeprecatedIsConcurrentMode) { - hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint - console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.'); - } + function _unsupportedIterableToArray(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray(r, a); + var t = {}.toString.call(r).slice(8, -1); + return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } - - return false; - } - function isContextConsumer(object) { - return typeOf(object) === REACT_CONTEXT_TYPE; - } - function isContextProvider(object) { - return typeOf(object) === REACT_PROVIDER_TYPE; - } - function isElement(object) { - return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; - } - function isForwardRef(object) { - return typeOf(object) === REACT_FORWARD_REF_TYPE; - } - function isFragment(object) { - return typeOf(object) === REACT_FRAGMENT_TYPE; - } - function isLazy(object) { - return typeOf(object) === REACT_LAZY_TYPE; - } - function isMemo(object) { - return typeOf(object) === REACT_MEMO_TYPE; - } - function isPortal(object) { - return typeOf(object) === REACT_PORTAL_TYPE; - } - function isProfiler(object) { - return typeOf(object) === REACT_PROFILER_TYPE; - } - function isStrictMode(object) { - return typeOf(object) === REACT_STRICT_MODE_TYPE; - } - function isSuspense(object) { - return typeOf(object) === REACT_SUSPENSE_TYPE; - } - function isSuspenseList(object) { - return typeOf(object) === REACT_SUSPENSE_LIST_TYPE; } - reactIs_development$1.ContextConsumer = ContextConsumer; - reactIs_development$1.ContextProvider = ContextProvider; - reactIs_development$1.Element = Element; - reactIs_development$1.ForwardRef = ForwardRef; - reactIs_development$1.Fragment = Fragment; - reactIs_development$1.Lazy = Lazy; - reactIs_development$1.Memo = Memo; - reactIs_development$1.Portal = Portal; - reactIs_development$1.Profiler = Profiler; - reactIs_development$1.StrictMode = StrictMode; - reactIs_development$1.Suspense = Suspense; - reactIs_development$1.SuspenseList = SuspenseList; - reactIs_development$1.isAsyncMode = isAsyncMode; - reactIs_development$1.isConcurrentMode = isConcurrentMode; - reactIs_development$1.isContextConsumer = isContextConsumer; - reactIs_development$1.isContextProvider = isContextProvider; - reactIs_development$1.isElement = isElement; - reactIs_development$1.isForwardRef = isForwardRef; - reactIs_development$1.isFragment = isFragment; - reactIs_development$1.isLazy = isLazy; - reactIs_development$1.isMemo = isMemo; - reactIs_development$1.isPortal = isPortal; - reactIs_development$1.isProfiler = isProfiler; - reactIs_development$1.isStrictMode = isStrictMode; - reactIs_development$1.isSuspense = isSuspense; - reactIs_development$1.isSuspenseList = isSuspenseList; - reactIs_development$1.isValidElementType = isValidElementType; - reactIs_development$1.typeOf = typeOf; - })(); + function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } - { - reactIs$2.exports = reactIs_development$1; + function _slicedToArray(r, e) { + return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } - // - - var shallowequal = function shallowEqual(objA, objB, compare, compareContext) { - var ret = compare ? compare.call(compareContext, objA, objB) : void 0; - - if (ret !== void 0) { - return !!ret; - } - - if (objA === objB) { - return true; + function _objectWithoutPropertiesLoose(r, e) { + if (null == r) return {}; + var t = {}; + for (var n in r) if ({}.hasOwnProperty.call(r, n)) { + if (e.includes(n)) continue; + t[n] = r[n]; } + return t; + } - if (typeof objA !== "object" || !objA || typeof objB !== "object" || !objB) { - return false; + function _objectWithoutProperties(e, t) { + if (null == e) return {}; + var o, + r, + i = _objectWithoutPropertiesLoose(e, t); + if (Object.getOwnPropertySymbols) { + var s = Object.getOwnPropertySymbols(e); + for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } + return i; + } - var keysA = Object.keys(objA); - var keysB = Object.keys(objB); - - if (keysA.length !== keysB.length) { - return false; - } - - var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB); - - // Test for A's keys different from B. - for (var idx = 0; idx < keysA.length; idx++) { - var key = keysA[idx]; - - if (!bHasOwnProperty(key)) { - return false; + var _excluded$6 = ["defaultInputValue", "defaultMenuIsOpen", "defaultValue", "inputValue", "menuIsOpen", "onChange", "onInputChange", "onMenuClose", "onMenuOpen", "value"]; + function useStateManager(_ref) { + var _ref$defaultInputValu = _ref.defaultInputValue, + defaultInputValue = _ref$defaultInputValu === void 0 ? '' : _ref$defaultInputValu, + _ref$defaultMenuIsOpe = _ref.defaultMenuIsOpen, + defaultMenuIsOpen = _ref$defaultMenuIsOpe === void 0 ? false : _ref$defaultMenuIsOpe, + _ref$defaultValue = _ref.defaultValue, + defaultValue = _ref$defaultValue === void 0 ? null : _ref$defaultValue, + propsInputValue = _ref.inputValue, + propsMenuIsOpen = _ref.menuIsOpen, + propsOnChange = _ref.onChange, + propsOnInputChange = _ref.onInputChange, + propsOnMenuClose = _ref.onMenuClose, + propsOnMenuOpen = _ref.onMenuOpen, + propsValue = _ref.value, + restSelectProps = _objectWithoutProperties(_ref, _excluded$6); + var _useState = React$1.useState(propsInputValue !== undefined ? propsInputValue : defaultInputValue), + _useState2 = _slicedToArray(_useState, 2), + stateInputValue = _useState2[0], + setStateInputValue = _useState2[1]; + var _useState3 = React$1.useState(propsMenuIsOpen !== undefined ? propsMenuIsOpen : defaultMenuIsOpen), + _useState4 = _slicedToArray(_useState3, 2), + stateMenuIsOpen = _useState4[0], + setStateMenuIsOpen = _useState4[1]; + var _useState5 = React$1.useState(propsValue !== undefined ? propsValue : defaultValue), + _useState6 = _slicedToArray(_useState5, 2), + stateValue = _useState6[0], + setStateValue = _useState6[1]; + var onChange = React$1.useCallback(function (value, actionMeta) { + if (typeof propsOnChange === 'function') { + propsOnChange(value, actionMeta); } - - var valueA = objA[key]; - var valueB = objB[key]; - - ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0; - - if (ret === false || (ret === void 0 && valueA !== valueB)) { - return false; + setStateValue(value); + }, [propsOnChange]); + var onInputChange = React$1.useCallback(function (value, actionMeta) { + var newValue; + if (typeof propsOnInputChange === 'function') { + newValue = propsOnInputChange(value, actionMeta); } - } - - return true; - }; - - function stylis_min (W) { - function M(d, c, e, h, a) { - for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) { - g = e.charCodeAt(l); - l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++); - - if (0 === b + n + v + m) { - if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) { - switch (g) { - case 32: - case 9: - case 59: - case 13: - case 10: - break; + setStateInputValue(newValue !== undefined ? newValue : value); + }, [propsOnInputChange]); + var onMenuOpen = React$1.useCallback(function () { + if (typeof propsOnMenuOpen === 'function') { + propsOnMenuOpen(); + } + setStateMenuIsOpen(true); + }, [propsOnMenuOpen]); + var onMenuClose = React$1.useCallback(function () { + if (typeof propsOnMenuClose === 'function') { + propsOnMenuClose(); + } + setStateMenuIsOpen(false); + }, [propsOnMenuClose]); + var inputValue = propsInputValue !== undefined ? propsInputValue : stateInputValue; + var menuIsOpen = propsMenuIsOpen !== undefined ? propsMenuIsOpen : stateMenuIsOpen; + var value = propsValue !== undefined ? propsValue : stateValue; + return _objectSpread2(_objectSpread2({}, restSelectProps), {}, { + inputValue: inputValue, + menuIsOpen: menuIsOpen, + onChange: onChange, + onInputChange: onInputChange, + onMenuClose: onMenuClose, + onMenuOpen: onMenuOpen, + value: value + }); + } - default: - f += e.charAt(l); - } + function _extends$1() { + return _extends$1 = Object.assign ? Object.assign.bind() : function (n) { + for (var e = 1; e < arguments.length; e++) { + var t = arguments[e]; + for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); + } + return n; + }, _extends$1.apply(null, arguments); + } - g = 59; - } + function _classCallCheck(a, n) { + if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); + } - switch (g) { - case 123: - f = f.trim(); - q = f.charCodeAt(0); - k = 1; - - for (t = ++l; l < B;) { - switch (g = e.charCodeAt(l)) { - case 123: - k++; - break; - - case 125: - k--; - break; - - case 47: - switch (g = e.charCodeAt(l + 1)) { - case 42: - case 47: - a: { - for (u = l + 1; u < J; ++u) { - switch (e.charCodeAt(u)) { - case 47: - if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) { - l = u + 1; - break a; - } - - break; - - case 10: - if (47 === g) { - l = u + 1; - break a; - } - - } - } + function _defineProperties(e, r) { + for (var t = 0; t < r.length; t++) { + var o = r[t]; + o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o); + } + } + function _createClass(e, r, t) { + return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { + writable: !1 + }), e; + } - l = u; - } + function _setPrototypeOf(t, e) { + return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { + return t.__proto__ = e, t; + }, _setPrototypeOf(t, e); + } - } + function _inherits(t, e) { + if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); + t.prototype = Object.create(e && e.prototype, { + constructor: { + value: t, + writable: !0, + configurable: !0 + } + }), Object.defineProperty(t, "prototype", { + writable: !1 + }), e && _setPrototypeOf(t, e); + } - break; + function _getPrototypeOf(t) { + return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { + return t.__proto__ || Object.getPrototypeOf(t); + }, _getPrototypeOf(t); + } - case 91: - g++; + function _isNativeReflectConstruct() { + try { + var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); + } catch (t) {} + return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { + return !!t; + })(); + } - case 40: - g++; + function _assertThisInitialized(e) { + if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + return e; + } - case 34: - case 39: - for (; l++ < J && e.charCodeAt(l) !== g;) { - } + function _possibleConstructorReturn(t, e) { + if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; + if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); + return _assertThisInitialized(t); + } - } + function _createSuper(t) { + var r = _isNativeReflectConstruct(); + return function () { + var e, + o = _getPrototypeOf(t); + if (r) { + var s = _getPrototypeOf(this).constructor; + e = Reflect.construct(o, arguments, s); + } else e = o.apply(this, arguments); + return _possibleConstructorReturn(this, e); + }; + } - if (0 === k) break; - l++; - } + function _arrayWithoutHoles(r) { + if (Array.isArray(r)) return _arrayLikeToArray(r); + } - k = e.substring(t, l); - 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0)); + function _iterableToArray(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); + } - switch (q) { - case 64: - 0 < r && (f = f.replace(N, '')); - g = f.charCodeAt(1); + function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } - switch (g) { - case 100: - case 109: - case 115: - case 45: - r = c; - break; + function _toConsumableArray(r) { + return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); + } - default: - r = O; - } + var isDevelopment$2 = false; - k = M(c, r, k, g, a + 1); - t = k.length; - 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = '')); - if (0 < t) switch (g) { - case 115: - f = f.replace(da, ea); - - case 100: - case 109: - case 45: - k = f + '{' + k + '}'; - break; + /* - case 107: - f = f.replace(fa, '$1 $2'); - k = f + '{' + k + '}'; - k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k; - break; + Based off glamor's StyleSheet, thanks Sunil ❤️ - default: - k = f + k, 112 === h && (k = (p += k, '')); - } else k = ''; - break; + high performance StyleSheet for css-in-js systems - default: - k = M(c, X(c, f, I), k, h, a + 1); - } + - uses multiple style tags behind the scenes for millions of rules + - uses `insertRule` for appending in production for *much* faster performance - F += k; - k = I = r = u = q = 0; - f = ''; - g = e.charCodeAt(++l); - break; + // usage - case 125: - case 59: - f = (0 < r ? f.replace(N, '') : f).trim(); - if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\x00\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) { - case 0: - break; + import { StyleSheet } from '@emotion/sheet' - case 64: - if (105 === g || 99 === g) { - G += f + e.charAt(l); - break; - } + let styleSheet = new StyleSheet({ key: '', container: document.head }) - default: - 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2))); - } - I = r = u = q = 0; - f = ''; - g = e.charCodeAt(++l); - } - } + styleSheet.insert('#box { border: 1px solid red; }') + - appends a css rule into the stylesheet - switch (g) { - case 13: - case 10: - 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\x00'); - 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h); - z = 1; - D++; - break; + styleSheet.flush() + - empties the stylesheet of all its contents - case 59: - case 125: - if (0 === b + n + v + m) { - z++; - break; - } + */ - default: - z++; - y = e.charAt(l); - - switch (g) { - case 9: - case 32: - if (0 === n + m + b) switch (x) { - case 44: - case 58: - case 9: - case 32: - y = ''; - break; - - default: - 32 !== g && (y = ' '); - } - break; + function sheetForTag(tag) { + if (tag.sheet) { + return tag.sheet; + } // this weirdness brought to you by firefox - case 0: - y = '\\0'; - break; + /* istanbul ignore next */ - case 12: - y = '\\f'; - break; - case 11: - y = '\\v'; - break; + for (var i = 0; i < document.styleSheets.length; i++) { + if (document.styleSheets[i].ownerNode === tag) { + return document.styleSheets[i]; + } + } // this function should always return with a value + // TS can't understand it though so we make it stop complaining here - case 38: - 0 === n + b + m && (r = I = 1, y = '\f' + y); - break; - case 108: - if (0 === n + b + m + E && 0 < u) switch (l - u) { - case 2: - 112 === x && 58 === e.charCodeAt(l - 3) && (E = x); + return undefined; + } - case 8: - 111 === K && (E = K); - } - break; + function createStyleElement(options) { + var tag = document.createElement('style'); + tag.setAttribute('data-emotion', options.key); - case 58: - 0 === n + b + m && (u = l); - break; + if (options.nonce !== undefined) { + tag.setAttribute('nonce', options.nonce); + } - case 44: - 0 === b + v + n + m && (r = 1, y += '\r'); - break; + tag.appendChild(document.createTextNode('')); + tag.setAttribute('data-s', ''); + return tag; + } - case 34: - case 39: - 0 === b && (n = n === g ? 0 : 0 === n ? g : n); - break; + var StyleSheet = /*#__PURE__*/function () { + // Using Node instead of HTMLElement since container may be a ShadowRoot + function StyleSheet(options) { + var _this = this; - case 91: - 0 === n + b + v && m++; - break; + this._insertTag = function (tag) { + var before; - case 93: - 0 === n + b + v && m--; - break; + if (_this.tags.length === 0) { + if (_this.insertionPoint) { + before = _this.insertionPoint.nextSibling; + } else if (_this.prepend) { + before = _this.container.firstChild; + } else { + before = _this.before; + } + } else { + before = _this.tags[_this.tags.length - 1].nextSibling; + } - case 41: - 0 === n + b + m && v--; - break; + _this.container.insertBefore(tag, before); - case 40: - if (0 === n + b + m) { - if (0 === q) switch (2 * x + 3 * K) { - case 533: - break; + _this.tags.push(tag); + }; - default: - q = 1; - } - v++; - } + this.isSpeedy = options.speedy === undefined ? !isDevelopment$2 : options.speedy; + this.tags = []; + this.ctr = 0; + this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets - break; + this.key = options.key; + this.container = options.container; + this.prepend = options.prepend; + this.insertionPoint = options.insertionPoint; + this.before = null; + } - case 64: - 0 === b + v + n + m + u + k && (k = 1); - break; + var _proto = StyleSheet.prototype; - case 42: - case 47: - if (!(0 < n + m + v)) switch (b) { - case 0: - switch (2 * g + 3 * e.charCodeAt(l + 1)) { - case 235: - b = 47; - break; + _proto.hydrate = function hydrate(nodes) { + nodes.forEach(this._insertTag); + }; - case 220: - t = l, b = 42; - } + _proto.insert = function insert(rule) { + // the max length is how many rules we have per style tag, it's 65000 in speedy mode + // it's 1 in dev because we insert source maps that map a single rule to a location + // and you can only have one source map per style tag + if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) { + this._insertTag(createStyleElement(this)); + } - break; + var tag = this.tags[this.tags.length - 1]; - case 42: - 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0); - } - } + if (this.isSpeedy) { + var sheet = sheetForTag(tag); - 0 === b && (f += y); + try { + // this is the ultrafast version, works across browsers + // the big drawback is that the css won't be editable in devtools + sheet.insertRule(rule, sheet.cssRules.length); + } catch (e) { } - - K = x; - x = g; - l++; + } else { + tag.appendChild(document.createTextNode(rule)); } - t = p.length; - - if (0 < t) { - r = c; - if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F; - p = r.join(',') + '{' + p + '}'; + this.ctr++; + }; - if (0 !== w * E) { - 2 !== w || L(p, 2) || (E = 0); + _proto.flush = function flush() { + this.tags.forEach(function (tag) { + var _tag$parentNode; - switch (E) { - case 111: - p = p.replace(ha, ':-moz-$1') + p; - break; + return (_tag$parentNode = tag.parentNode) == null ? void 0 : _tag$parentNode.removeChild(tag); + }); + this.tags = []; + this.ctr = 0; + }; - case 112: - p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p; - } + return StyleSheet; + }(); - E = 0; - } - } + var MS = '-ms-'; + var MOZ = '-moz-'; + var WEBKIT = '-webkit-'; - return G + p + F; - } + var COMMENT = 'comm'; + var RULESET = 'rule'; + var DECLARATION = 'decl'; + var IMPORT = '@import'; + var KEYFRAMES = '@keyframes'; + var LAYER = '@layer'; - function X(d, c, e) { - var h = c.trim().split(ia); - c = h; - var a = h.length, - m = d.length; + /** + * @param {number} + * @return {number} + */ + var abs$2 = Math.abs; - switch (m) { - case 0: - case 1: - var b = 0; + /** + * @param {number} + * @return {string} + */ + var from = String.fromCharCode; - for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) { - c[b] = Z(d, c[b], e).trim(); - } - - break; - - default: - var v = b = 0; - - for (c = []; b < a; ++b) { - for (var n = 0; n < m; ++n) { - c[v++] = Z(d[n] + ' ', h[b], e).trim(); - } - } - - } - - return c; - } + /** + * @param {object} + * @return {object} + */ + var assign = Object.assign; - function Z(d, c, e) { - var h = c.charCodeAt(0); - 33 > h && (h = (c = c.trim()).charCodeAt(0)); + /** + * @param {string} value + * @param {number} length + * @return {number} + */ + function hash (value, length) { + return charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0 + } - switch (h) { - case 38: - return c.replace(F, '$1' + d.trim()); + /** + * @param {string} value + * @return {string} + */ + function trim (value) { + return value.trim() + } - case 58: - return d.trim() + c.replace(F, '$1' + d.trim()); + /** + * @param {string} value + * @param {RegExp} pattern + * @return {string?} + */ + function match (value, pattern) { + return (value = pattern.exec(value)) ? value[0] : value + } - default: - if (0 < 1 * e && 0 < c.indexOf('\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim()); - } + /** + * @param {string} value + * @param {(string|RegExp)} pattern + * @param {string} replacement + * @return {string} + */ + function replace (value, pattern, replacement) { + return value.replace(pattern, replacement) + } - return d + c; - } + /** + * @param {string} value + * @param {string} search + * @return {number} + */ + function indexof (value, search) { + return value.indexOf(search) + } - function P(d, c, e, h) { - var a = d + ';', - m = 2 * c + 3 * e + 4 * h; + /** + * @param {string} value + * @param {number} index + * @return {number} + */ + function charat (value, index) { + return value.charCodeAt(index) | 0 + } - if (944 === m) { - d = a.indexOf(':', 9) + 1; - var b = a.substring(d, a.length - 1).trim(); - b = a.substring(0, d).trim() + b + ';'; - return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b; - } + /** + * @param {string} value + * @param {number} begin + * @param {number} end + * @return {string} + */ + function substr (value, begin, end) { + return value.slice(begin, end) + } - if (0 === w || 2 === w && !L(a, 1)) return a; + /** + * @param {string} value + * @return {number} + */ + function strlen (value) { + return value.length + } - switch (m) { - case 1015: - return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a; + /** + * @param {any[]} value + * @return {number} + */ + function sizeof (value) { + return value.length + } - case 951: - return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a; + /** + * @param {any} value + * @param {any[]} array + * @return {any} + */ + function append (value, array) { + return array.push(value), value + } - case 963: - return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a; + /** + * @param {string[]} array + * @param {function} callback + * @return {string} + */ + function combine (array, callback) { + return array.map(callback).join('') + } - case 1009: - if (100 !== a.charCodeAt(4)) break; + var line = 1; + var column = 1; + var length = 0; + var position = 0; + var character = 0; + var characters = ''; - case 969: - case 942: - return '-webkit-' + a + a; + /** + * @param {string} value + * @param {object | null} root + * @param {object | null} parent + * @param {string} type + * @param {string[] | string} props + * @param {object[] | string} children + * @param {number} length + */ + function node (value, root, parent, type, props, children, length) { + return {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''} + } - case 978: - return '-webkit-' + a + '-moz-' + a + a; + /** + * @param {object} root + * @param {object} props + * @return {object} + */ + function copy (root, props) { + return assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props) + } - case 1019: - case 983: - return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a; + /** + * @return {number} + */ + function char () { + return character + } - case 883: - if (45 === a.charCodeAt(8)) return '-webkit-' + a + a; - if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a; - break; + /** + * @return {number} + */ + function prev () { + character = position > 0 ? charat(characters, --position) : 0; - case 932: - if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) { - case 103: - return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a; + if (column--, character === 10) + column = 1, line--; - case 115: - return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a; + return character + } - case 98: - return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a; - } - return '-webkit-' + a + '-ms-' + a + a; + /** + * @return {number} + */ + function next () { + character = position < length ? charat(characters, position++) : 0; - case 964: - return '-webkit-' + a + '-ms-flex-' + a + a; + if (column++, character === 10) + column = 1, line++; - case 1023: - if (99 !== a.charCodeAt(8)) break; - b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify'); - return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a; + return character + } - case 1005: - return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a; + /** + * @return {number} + */ + function peek () { + return charat(characters, position) + } - case 1e3: - b = a.substring(13).trim(); - c = b.indexOf('-') + 1; + /** + * @return {number} + */ + function caret () { + return position + } - switch (b.charCodeAt(0) + b.charCodeAt(c)) { - case 226: - b = a.replace(G, 'tb'); - break; + /** + * @param {number} begin + * @param {number} end + * @return {string} + */ + function slice (begin, end) { + return substr(characters, begin, end) + } - case 232: - b = a.replace(G, 'tb-rl'); - break; + /** + * @param {number} type + * @return {number} + */ + function token (type) { + switch (type) { + // \0 \t \n \r \s whitespace token + case 0: case 9: case 10: case 13: case 32: + return 5 + // ! + , / > @ ~ isolate token + case 33: case 43: case 44: case 47: case 62: case 64: case 126: + // ; { } breakpoint token + case 59: case 123: case 125: + return 4 + // : accompanied token + case 58: + return 3 + // " ' ( [ opening delimit token + case 34: case 39: case 40: case 91: + return 2 + // ) ] closing delimit token + case 41: case 93: + return 1 + } - case 220: - b = a.replace(G, 'lr'); - break; + return 0 + } - default: - return a; - } + /** + * @param {string} value + * @return {any[]} + */ + function alloc (value) { + return line = column = 1, length = strlen(characters = value), position = 0, [] + } - return '-webkit-' + a + '-ms-' + b + a; + /** + * @param {any} value + * @return {any} + */ + function dealloc (value) { + return characters = '', value + } - case 1017: - if (-1 === a.indexOf('sticky', 9)) break; + /** + * @param {number} type + * @return {string} + */ + function delimit (type) { + return trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type))) + } - case 975: - c = (a = d).length - 10; - b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim(); + /** + * @param {number} type + * @return {string} + */ + function whitespace (type) { + while (character = peek()) + if (character < 33) + next(); + else + break - switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) { - case 203: - if (111 > b.charCodeAt(8)) break; + return token(type) > 2 || token(character) > 3 ? '' : ' ' + } - case 115: - a = a.replace(b, '-webkit-' + b) + ';' + a; - break; + /** + * @param {number} index + * @param {number} count + * @return {string} + */ + function escaping (index, count) { + while (--count && next()) + // not 0-9 A-F a-f + if (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97)) + break - case 207: - case 102: - a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a; - } + return slice(index, caret() + (count < 6 && peek() == 32 && next() == 32)) + } - return a + ';'; - - case 938: - if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) { - case 105: - return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a; - - case 115: - return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a; - - default: - return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a; - } - break; - - case 973: - case 989: - if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break; - - case 931: - case 953: - if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a; - break; - - case 962: - if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a; - } - - return a; - } - - function L(d, c) { - var e = d.indexOf(1 === c ? ':' : '{'), - h = d.substring(0, 3 !== c ? e : 10); - e = d.substring(e + 1, d.length - 1); - return R(2 !== c ? h : h.replace(na, '$1'), e, c); - } - - function ea(d, c) { - var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2)); - return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')'; - } - - function H(d, c, e, h, a, m, b, v, n, q) { - for (var g = 0, x = c, w; g < A; ++g) { - switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) { - case void 0: - case !1: - case !0: - case null: - break; - - default: - x = w; - } - } - - if (x !== c) return x; - } - - function T(d) { - switch (d) { - case void 0: - case null: - A = S.length = 0; - break; - - default: - if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) { - T(d[c]); - } else Y = !!d | 0; - } - - return T; - } - - function U(d) { - d = d.prefix; - void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0); - return U; - } - - function B(d, c) { - var e = d; - 33 > e.charCodeAt(0) && (e = e.trim()); - V = e; - e = [V]; - - if (0 < A) { - var h = H(-1, c, e, e, D, z, 0, 0, 0, 0); - void 0 !== h && 'string' === typeof h && (c = h); - } - - var a = M(O, e, c, 0, 0); - 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h)); - V = ''; - E = 0; - z = D = 1; - return a; - } - - var ca = /^\0+/g, - N = /[\0\r\f]/g, - aa = /: */g, - ka = /zoo|gra/, - ma = /([,: ])(transform)/g, - ia = /,\r+?/g, - F = /([\t\r\n ])*\f?&/g, - fa = /@(k\w+)\s*(\S*)\s*/, - Q = /::(place)/g, - ha = /:(read-only)/g, - G = /[svh]\w+-[tblr]{2}/, - da = /\(\s*(.*)\s*\)/g, - oa = /([\s\S]*?);/g, - ba = /-self|flex-/g, - na = /[^]*?(:[rp][el]a[\w-]+)[^]*/, - la = /stretch|:\s*\w+\-(?:conte|avail)/, - ja = /([^-])(image-set\()/, - z = 1, - D = 1, - E = 0, - w = 1, - O = [], - S = [], - A = 0, - R = null, - Y = 0, - V = ''; - B.use = T; - B.set = U; - void 0 !== W && U(W); - return B; - } - - var unitlessKeys$1 = { - animationIterationCount: 1, - borderImageOutset: 1, - borderImageSlice: 1, - borderImageWidth: 1, - boxFlex: 1, - boxFlexGroup: 1, - boxOrdinalGroup: 1, - columnCount: 1, - columns: 1, - flex: 1, - flexGrow: 1, - flexPositive: 1, - flexShrink: 1, - flexNegative: 1, - flexOrder: 1, - gridRow: 1, - gridRowEnd: 1, - gridRowSpan: 1, - gridRowStart: 1, - gridColumn: 1, - gridColumnEnd: 1, - gridColumnSpan: 1, - gridColumnStart: 1, - msGridRow: 1, - msGridRowSpan: 1, - msGridColumn: 1, - msGridColumnSpan: 1, - fontWeight: 1, - lineHeight: 1, - opacity: 1, - order: 1, - orphans: 1, - tabSize: 1, - widows: 1, - zIndex: 1, - zoom: 1, - WebkitLineClamp: 1, - // SVG-related properties - fillOpacity: 1, - floodOpacity: 1, - stopOpacity: 1, - strokeDasharray: 1, - strokeDashoffset: 1, - strokeMiterlimit: 1, - strokeOpacity: 1, - strokeWidth: 1 - }; - - function memoize(fn) { - var cache = Object.create(null); - return function (arg) { - if (cache[arg] === undefined) cache[arg] = fn(arg); - return cache[arg]; - }; - } - - var reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23 - - var isPropValid = /* #__PURE__ */memoize(function (prop) { - return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111 - /* o */ - && prop.charCodeAt(1) === 110 - /* n */ - && prop.charCodeAt(2) < 91; - } - /* Z+1 */ - ); - - var reactIs$1 = {exports: {}}; - - var reactIs_development = {}; - - /** @license React v16.13.1 - * react-is.development.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. + /** + * @param {number} type + * @return {number} */ + function delimiter (type) { + while (next()) + switch (character) { + // ] ) " ' + case type: + return position + // " ' + case 34: case 39: + if (type !== 34 && type !== 39) + delimiter(character); + break + // ( + case 40: + if (type === 41) + delimiter(type); + break + // \ + case 92: + next(); + break + } - - - { - (function() { - - // The Symbol used to tag the ReactElement-like types. If there is no native Symbol - // nor polyfill, then a plain number is used for performance. - var hasSymbol = typeof Symbol === 'function' && Symbol.for; - var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7; - var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca; - var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb; - var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc; - var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2; - var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd; - var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary - // (unstable) APIs that have been removed. Can we remove the symbols? - - var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf; - var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf; - var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0; - var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1; - var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8; - var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3; - var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4; - var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9; - var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5; - var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6; - var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7; - - function isValidElementType(type) { - return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. - type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE); - } - - function typeOf(object) { - if (typeof object === 'object' && object !== null) { - var $$typeof = object.$$typeof; - - switch ($$typeof) { - case REACT_ELEMENT_TYPE: - var type = object.type; - - switch (type) { - case REACT_ASYNC_MODE_TYPE: - case REACT_CONCURRENT_MODE_TYPE: - case REACT_FRAGMENT_TYPE: - case REACT_PROFILER_TYPE: - case REACT_STRICT_MODE_TYPE: - case REACT_SUSPENSE_TYPE: - return type; - - default: - var $$typeofType = type && type.$$typeof; - - switch ($$typeofType) { - case REACT_CONTEXT_TYPE: - case REACT_FORWARD_REF_TYPE: - case REACT_LAZY_TYPE: - case REACT_MEMO_TYPE: - case REACT_PROVIDER_TYPE: - return $$typeofType; - - default: - return $$typeof; - } - - } - - case REACT_PORTAL_TYPE: - return $$typeof; - } - } - - return undefined; - } // AsyncMode is deprecated along with isAsyncMode - - var AsyncMode = REACT_ASYNC_MODE_TYPE; - var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE; - var ContextConsumer = REACT_CONTEXT_TYPE; - var ContextProvider = REACT_PROVIDER_TYPE; - var Element = REACT_ELEMENT_TYPE; - var ForwardRef = REACT_FORWARD_REF_TYPE; - var Fragment = REACT_FRAGMENT_TYPE; - var Lazy = REACT_LAZY_TYPE; - var Memo = REACT_MEMO_TYPE; - var Portal = REACT_PORTAL_TYPE; - var Profiler = REACT_PROFILER_TYPE; - var StrictMode = REACT_STRICT_MODE_TYPE; - var Suspense = REACT_SUSPENSE_TYPE; - var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated - - function isAsyncMode(object) { - { - if (!hasWarnedAboutDeprecatedIsAsyncMode) { - hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint - - console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.'); - } - } - - return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE; - } - function isConcurrentMode(object) { - return typeOf(object) === REACT_CONCURRENT_MODE_TYPE; - } - function isContextConsumer(object) { - return typeOf(object) === REACT_CONTEXT_TYPE; - } - function isContextProvider(object) { - return typeOf(object) === REACT_PROVIDER_TYPE; - } - function isElement(object) { - return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; - } - function isForwardRef(object) { - return typeOf(object) === REACT_FORWARD_REF_TYPE; - } - function isFragment(object) { - return typeOf(object) === REACT_FRAGMENT_TYPE; - } - function isLazy(object) { - return typeOf(object) === REACT_LAZY_TYPE; - } - function isMemo(object) { - return typeOf(object) === REACT_MEMO_TYPE; - } - function isPortal(object) { - return typeOf(object) === REACT_PORTAL_TYPE; - } - function isProfiler(object) { - return typeOf(object) === REACT_PROFILER_TYPE; - } - function isStrictMode(object) { - return typeOf(object) === REACT_STRICT_MODE_TYPE; - } - function isSuspense(object) { - return typeOf(object) === REACT_SUSPENSE_TYPE; + return position } - reactIs_development.AsyncMode = AsyncMode; - reactIs_development.ConcurrentMode = ConcurrentMode; - reactIs_development.ContextConsumer = ContextConsumer; - reactIs_development.ContextProvider = ContextProvider; - reactIs_development.Element = Element; - reactIs_development.ForwardRef = ForwardRef; - reactIs_development.Fragment = Fragment; - reactIs_development.Lazy = Lazy; - reactIs_development.Memo = Memo; - reactIs_development.Portal = Portal; - reactIs_development.Profiler = Profiler; - reactIs_development.StrictMode = StrictMode; - reactIs_development.Suspense = Suspense; - reactIs_development.isAsyncMode = isAsyncMode; - reactIs_development.isConcurrentMode = isConcurrentMode; - reactIs_development.isContextConsumer = isContextConsumer; - reactIs_development.isContextProvider = isContextProvider; - reactIs_development.isElement = isElement; - reactIs_development.isForwardRef = isForwardRef; - reactIs_development.isFragment = isFragment; - reactIs_development.isLazy = isLazy; - reactIs_development.isMemo = isMemo; - reactIs_development.isPortal = isPortal; - reactIs_development.isProfiler = isProfiler; - reactIs_development.isStrictMode = isStrictMode; - reactIs_development.isSuspense = isSuspense; - reactIs_development.isValidElementType = isValidElementType; - reactIs_development.typeOf = typeOf; - })(); - } + /** + * @param {number} type + * @param {number} index + * @return {number} + */ + function commenter (type, index) { + while (next()) + // // + if (type + character === 47 + 10) + break + // /* + else if (type + character === 42 + 42 && peek() === 47) + break - { - reactIs$1.exports = reactIs_development; + return '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next()) } - var reactIs = reactIs$1.exports; - /** - * Copyright 2015, Yahoo! Inc. - * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. + * @param {number} index + * @return {string} */ - var REACT_STATICS = { - childContextTypes: true, - contextType: true, - contextTypes: true, - defaultProps: true, - displayName: true, - getDefaultProps: true, - getDerivedStateFromError: true, - getDerivedStateFromProps: true, - mixins: true, - propTypes: true, - type: true - }; - var KNOWN_STATICS = { - name: true, - length: true, - prototype: true, - caller: true, - callee: true, - arguments: true, - arity: true - }; - var FORWARD_REF_STATICS = { - '$$typeof': true, - render: true, - defaultProps: true, - displayName: true, - propTypes: true - }; - var MEMO_STATICS = { - '$$typeof': true, - compare: true, - defaultProps: true, - displayName: true, - propTypes: true, - type: true - }; - var TYPE_STATICS = {}; - TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS; - TYPE_STATICS[reactIs.Memo] = MEMO_STATICS; - - function getStatics(component) { - // React v16.11 and below - if (reactIs.isMemo(component)) { - return MEMO_STATICS; - } // React v16.12 and above - + function identifier (index) { + while (!token(peek())) + next(); - return TYPE_STATICS[component['$$typeof']] || REACT_STATICS; + return slice(index, position) } - var defineProperty = Object.defineProperty; - var getOwnPropertyNames = Object.getOwnPropertyNames; - var getOwnPropertySymbols = Object.getOwnPropertySymbols; - var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; - var getPrototypeOf = Object.getPrototypeOf; - var objectPrototype = Object.prototype; - function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) { - if (typeof sourceComponent !== 'string') { - // don't hoist over string (html) components - if (objectPrototype) { - var inheritedComponent = getPrototypeOf(sourceComponent); - - if (inheritedComponent && inheritedComponent !== objectPrototype) { - hoistNonReactStatics(targetComponent, inheritedComponent, blacklist); - } - } - - var keys = getOwnPropertyNames(sourceComponent); - - if (getOwnPropertySymbols) { - keys = keys.concat(getOwnPropertySymbols(sourceComponent)); - } - - var targetStatics = getStatics(targetComponent); - var sourceStatics = getStatics(sourceComponent); - - for (var i = 0; i < keys.length; ++i) { - var key = keys[i]; - - if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) { - var descriptor = getOwnPropertyDescriptor(sourceComponent, key); - - try { - // Avoid failures from read-only properties - defineProperty(targetComponent, key, descriptor); - } catch (e) {} - } - } - } - - return targetComponent; + /** + * @param {string} value + * @return {object[]} + */ + function compile (value) { + return dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value)) } - var hoistNonReactStatics_cjs = hoistNonReactStatics; - - function v$1(){return (v$1=Object.assign||function(e){for(var t=1;t ({})}\n```\n\n',8:'ThemeProvider: Please make your "theme" prop an object.\n\n',9:"Missing document ``\n\n",10:"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\n\n",11:"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\n\n",12:"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\`\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\n\n",13:"%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\n\n",14:'ThemeProvider: "theme" prop is required.\n\n',15:"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to ``, please make sure each plugin is uniquely-named, e.g.\n\n```js\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\n```\n\n",16:"Reached the limit of how many styled components may be created at group %s.\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\nas for instance in your render method then you may be running into this limitation.\n\n",17:"CSSStyleSheet could not be found on HTMLStyleElement.\nHas styled-components' style tag been unmounted or altered by another script?\n"};function D$1(){for(var e=arguments.length<=0?void 0:arguments[0],t=[],n=1,r=arguments.length;n1?t-1:0),r=1;r=this.groupSizes.length){for(var n=this.groupSizes,r=n.length,o=r;e>=o;)(o<<=1)<0&&j$1(16,""+e);this.groupSizes=new Uint32Array(o),this.groupSizes.set(n),this.length=o;for(var s=r;s=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],r=this.indexOfGroup(e),o=r+n,s=r;s1<<30)&&j$1(16,""+t),x$1.set(e,t),k.set(t,e),t},z=function(e){return k.get(e)},M=function(e,t){t>=V&&(V=t+1),x$1.set(e,t),k.set(t,e);},G="style["+A+'][data-styled-version="5.3.9"]',L$1=new RegExp("^"+A+'\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)'),F$1=function(e,t,n){for(var r,o=n.split(","),s=0,i=o.length;s=0;n--){var r=t[n];if(r&&1===r.nodeType&&r.hasAttribute(A))return r}}(n),s=void 0!==o?o.nextSibling:null;r.setAttribute(A,"active"),r.setAttribute("data-styled-version","5.3.9");var i=q();return i&&r.setAttribute("nonce",i),n.insertBefore(r,s),r},$=function(){function e(e){var t=this.element=H(e);t.appendChild(document.createTextNode("")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,r=t.length;n=0){var n=document.createTextNode(t),r=this.nodes[e];return this.element.insertBefore(n,r||null),this.length++,!0}return !1},t.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--;},t.getRule=function(e){return e0&&(u+=e+",");})),r+=""+a+c+'{content:"'+u+'"}/*!sc*/\n';}}}return r}(this)},e}(),K=/(a)(d)/gi,Q=function(e){return String.fromCharCode(e+(e>25?39:97))};function ee(e){var t,n="";for(t=Math.abs(e);t>52;t=t/52|0)n=Q(t%52)+n;return (Q(t%52)+n).replace(K,"$1-$2")}var te=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},ne=function(e){return te(5381,e)};function re(e){for(var t=0;t>>0);if(!t.hasNameForId(r,i)){var a=n(s,"."+i,void 0,r);t.insertRules(r,i,a);}o.push(i),this.staticRulesId=i;}else {for(var c=this.rules.length,u=te(this.baseHash,n.hash),l="",d=0;d>>0);if(!t.hasNameForId(r,m)){var y=n(l,"."+m,void 0,r);t.insertRules(r,m,y);}o.push(m);}}return o.join(" ")},e}(),ie=/^\s*\/\/.*$/gm,ae=[":","[",".","#"];function ce(e){var t,n,r,o,s=void 0===e?E$1:e,i=s.options,a=void 0===i?E$1:i,c=s.plugins,u=void 0===c?w$2:c,l=new stylis_min(a),d=[],h=function(e){function t(t){if(t)try{e(t+"}");}catch(e){}}return function(n,r,o,s,i,a,c,u,l,d){switch(n){case 1:if(0===l&&64===r.charCodeAt(0))return e(r+";"),"";break;case 2:if(0===u)return r+"/*|*/";break;case 3:switch(u){case 102:case 112:return e(o[0]+r),"";default:return r+(0===d?"/*|*/":"")}case-2:r.split("/*|*/}").forEach(t);}}}((function(e){d.push(e);})),f=function(e,r,s){return 0===r&&-1!==ae.indexOf(s[n.length])||s.match(o)?e:"."+t};function m(e,s,i,a){void 0===a&&(a="&");var c=e.replace(ie,""),u=s&&i?i+" "+s+" { "+c+" }":c;return t=a,n=s,r=new RegExp("\\"+n+"\\b","g"),o=new RegExp("(\\"+n+"\\b){2,}"),l(i||!s?"":s,u)}return l.use([].concat(u,[function(e,t,o){2===e&&o.length&&o[0].lastIndexOf(n)>0&&(o[0]=o[0].replace(r,f));},h,function(e){if(-2===e){var t=d;return d=[],t}}])),m.hash=u.length?u.reduce((function(e,t){return t.name||j$1(15),te(e,t.name)}),5381).toString():"",m}var ue=React__default["default"].createContext(),le=ue.Consumer,de=React__default["default"].createContext(),he=(de.Consumer,new Z),pe=ce();function fe(){return React$1.useContext(ue)||he}function me(){return React$1.useContext(de)||pe}function ye(e){var t=React$1.useState(e.stylisPlugins),n=t[0],s=t[1],c=fe(),u=React$1.useMemo((function(){var t=c;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t}),[e.disableCSSOMInjection,e.sheet,e.target]),l=React$1.useMemo((function(){return ce({options:{prefix:!e.disableVendorPrefixes},plugins:n})}),[e.disableVendorPrefixes,n]);return React$1.useEffect((function(){shallowequal(n,e.stylisPlugins)||s(e.stylisPlugins);}),[e.stylisPlugins]),React__default["default"].createElement(ue.Provider,{value:u},React__default["default"].createElement(de.Provider,{value:l},React__default["default"].Children.only(e.children)))}var ve=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=pe);var r=n.name+t.hash;e.hasNameForId(n.id,r)||e.insertRules(n.id,r,t(n.rules,r,"@keyframes"));},this.toString=function(){return j$1(12,String(n.name))},this.name=e,this.id="sc-keyframes-"+e,this.rules=t;}return e.prototype.getName=function(e){return void 0===e&&(e=pe),this.name+e.hash},e}(),ge=/([A-Z])/,Se=/([A-Z])/g,we=/^ms-/,Ee=function(e){return "-"+e.toLowerCase()};function be(e){return ge.test(e)?e.replace(Se,Ee).replace(we,"-ms-"):e}var _e=function(e){return null==e||!1===e||""===e};function Ne(e,n,r,o){if(Array.isArray(e)){for(var s,i=[],a=0,c=e.length;a1?t-1:0),r=1;r1?t-1:0),i=1;i?@[\\\]^`{|}~-]+/g,je=/(^-|-$)/g;function Te(e){return e.replace(De,"-").replace(je,"")}var xe=function(e){return ee(ne(e)>>>0)};function ke(e){return "string"==typeof e&&(e.charAt(0)===e.charAt(0).toLowerCase())}var Ve=function(e){return "function"==typeof e||"object"==typeof e&&null!==e&&!Array.isArray(e)},Be=function(e){return "__proto__"!==e&&"constructor"!==e&&"prototype"!==e};function ze(e,t,n){var r=e[n];Ve(t)&&Ve(r)?Me(r,t):e[n]=t;}function Me(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r=0||(o[n]=e[n]);return o}(t,["componentId"]),s=r&&r+"-"+(ke(e)?e:Te(_(e)));return qe(e,v$1({},o,{attrs:S,componentId:s}),n)},Object.defineProperty(C,"defaultProps",{get:function(){return this._foldedDefaultProps},set:function(t){this._foldedDefaultProps=o?Me({},e.defaultProps,t):t;}}),(Oe(f,g),C.warnTooManyClasses=function(e,t){var n={},r=!1;return function(o){if(!r&&(n[o]=!0,Object.keys(n).length>=200)){var s=t?' with the id of "'+t+'"':"";console.warn("Over 200 classes were generated for component "+e+s+".\nConsider using the attrs method, together with a style object for frequently changed styles.\nExample:\n const Component = styled.div.attrs(props => ({\n style: {\n background: props.background,\n },\n }))`width: 100%;`\n\n "),r=!0,n={};}}}(f,g)),Object.defineProperty(C,"toString",{value:function(){return "."+C.styledComponentId}}),i&&hoistNonReactStatics_cjs(C,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0,withComponent:!0}),C}var He=function(e){return function e(t,r,o){if(void 0===o&&(o=E$1),!reactIs$2.exports.isValidElementType(r))return j$1(1,String(r));var s=function(){return t(r,o,Ce.apply(void 0,arguments))};return s.withConfig=function(n){return e(t,r,v$1({},o,{},n))},s.attrs=function(n){return e(t,r,v$1({},o,{attrs:Array.prototype.concat(o.attrs,n).filter(Boolean)}))},s}(qe,e)};["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","textPath","tspan"].forEach((function(e){He[e]=He(e);}));var $e=function(){function e(e,t){this.rules=e,this.componentId=t,this.isStatic=re(e),Z.registerId(this.componentId+1);}var t=e.prototype;return t.createStyles=function(e,t,n,r){var o=r(Ne(this.rules,t,n,r).join(""),""),s=this.componentId+e;n.insertRules(s,s,o);},t.removeStyles=function(e,t){t.clearRules(this.componentId+e);},t.renderStyles=function(e,t,n,r){e>2&&Z.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,r);},e}();function We(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o meta tag to the stylesheet, or simply embedding it manually in your index.html section for a simpler app."),t.server&&h(l,e,t,o,n),React$1.useLayoutEffect((function(){if(!t.server)return h(l,e,t,o,n),function(){return u.removeStyles(l,t)}}),[l,e,t,o,n]),null}function h(e,t,n,r,o){if(u.isStatic)u.renderStyles(e,O,n,o);else {var s=v$1({},t,{theme:Re(t,r,l.defaultProps)});u.renderStyles(e,s,n,o);}}return Oe(a),React__default["default"].memo(l)}function Ue(e){"undefined"!=typeof navigator&&"ReactNative"===navigator.product&&console.warn("`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.");for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r"+t+""},this.getStyleTags=function(){return e.sealed?j$1(2):e._emitSheetCSS()},this.getStyleElement=function(){var t;if(e.sealed)return j$1(2);var n=((t={})[A]="",t["data-styled-version"]="5.3.9",t.dangerouslySetInnerHTML={__html:e.instance.toString()},t),o=q();return o&&(n.nonce=o),[React__default["default"].createElement("style",v$1({},n,{key:"sc-0-0"}))]},this.seal=function(){e.sealed=!0;},this.instance=new Z({isServer:!0}),this.sealed=!1;}var t=e.prototype;return t.collectStyles=function(e){return this.sealed?j$1(2):React__default["default"].createElement(ye,{sheet:this.instance},e)},t.interleaveWithNodeStream=function(e){return j$1(3)},e}(),Xe=function(e){var t=React__default["default"].forwardRef((function(t,n){var o=React$1.useContext(Ge),i=e.defaultProps,a=Re(t,o,i);return void 0===a&&console.warn('[withTheme] You are not using a ThemeProvider nor passing a theme prop or a theme in defaultProps in component class "'+_(e)+'"'),React__default["default"].createElement(e,v$1({},t,{theme:a,ref:n}))}));return hoistNonReactStatics_cjs(t,e),t.displayName="WithTheme("+_(e)+")",t},Ze=function(){return React$1.useContext(Ge)},Ke={StyleSheet:Z,masterSheet:he};"undefined"!=typeof navigator&&"ReactNative"===navigator.product&&console.warn("It looks like you've imported 'styled-components' on React Native.\nPerhaps you're looking to import 'styled-components/native'?\nRead more about this at https://www.styled-components.com/docs/basics#react-native"),"undefined"!=typeof window&&(window["__styled-components-init__"]=window["__styled-components-init__"]||0,1===window["__styled-components-init__"]&&console.warn("It looks like there are several instances of 'styled-components' initialized in this application. This may cause dynamic styles to not render properly, errors during the rehydration process, a missing theme prop, and makes your application bigger without good reason.\n\nSee https://s-c.sh/2BAXzed for more info."),window["__styled-components-init__"]+=1); - - var styledComponents_browser_esm = /*#__PURE__*/Object.freeze({ - __proto__: null, - 'default': He, - ServerStyleSheet: Je, - StyleSheetConsumer: le, - StyleSheetContext: ue, - StyleSheetManager: ye, - ThemeConsumer: Le, - ThemeContext: Ge, - ThemeProvider: Fe, - __PRIVATE__: Ke, - createGlobalStyle: We, - css: Ce, - isStyledComponent: N, - keyframes: Ue, - useTheme: Ze, - version: C, - withTheme: Xe - }); - - var require$$1 = /*@__PURE__*/getAugmentedNamespace(styledComponents_browser_esm); + /** + * @param {string} value + * @param {object} root + * @param {object?} parent + * @param {string[]} rule + * @param {string[]} rules + * @param {string[]} rulesets + * @param {number[]} pseudo + * @param {number[]} points + * @param {string[]} declarations + * @return {object} + */ + function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) { + var index = 0; + var offset = 0; + var length = pseudo; + var atrule = 0; + var property = 0; + var previous = 0; + var variable = 1; + var scanning = 1; + var ampersand = 1; + var character = 0; + var type = ''; + var props = rules; + var children = rulesets; + var reference = rule; + var characters = type; - (function (exports) { - Object.defineProperty(exports,"__esModule",{value:!0});var e=React__default["default"],t=require$$1;function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function o(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:function(){return e[n]}});}})),t.default=e,Object.freeze(t)}var a,l=o(e),r=n(e),i=n(t);function s(e,t){return e[t]}function d(e,t){return t.split(".").reduce(((e,t)=>{const n=t.match(/[^\]\\[.]+/g);if(n&&n.length>1)for(let t=0;ts(e,n)===a)),1):o.splice(o.findIndex((e=>e===t)),1),o}function u(e){return e.map(((e,t)=>{const n=Object.assign(Object.assign({},e),{sortable:e.sortable||!!e.sortFunction||void 0});return e.id||(n.id=t+1),n}))}function p(e,t){return Math.ceil(e/t)}function b(e,t){return Math.min(e,t)}!function(e){e.ASC="asc",e.DESC="desc";}(a||(a={}));const m=()=>null;function f(e,t=[],n=[]){let o={},a=[...n];return t.length&&t.forEach((t=>{if(!t.when||"function"!=typeof t.when)throw new Error('"when" must be defined in the conditional style object and must be function');t.when(e)&&(o=t.style||{},t.classNames&&(a=[...a,...t.classNames]),"function"==typeof t.style&&(o=t.style(e)||{}));})),{style:o,classNames:a.join(" ")}}function h(e,t=[],n="id"){const o=s(e,n);return o?t.some((e=>s(e,n)===o)):t.some((t=>t===e))}function w(e,t){return t?e.findIndex((e=>x(e.id,t))):-1}function x(e,t){return e==t}function C(e,t){const n=!e.toggleOnSelectedRowsChange;switch(t.type){case"SELECT_ALL_ROWS":{const{keyField:n,rows:o,rowCount:a,mergeSelections:l}=t,r=!e.allSelected,i=!e.toggleOnSelectedRowsChange;if(l){const t=r?[...e.selectedRows,...o.filter((t=>!h(t,e.selectedRows,n)))]:e.selectedRows.filter((e=>!h(e,o,n)));return Object.assign(Object.assign({},e),{allSelected:r,selectedCount:t.length,selectedRows:t,toggleOnSelectedRowsChange:i})}return Object.assign(Object.assign({},e),{allSelected:r,selectedCount:r?a:0,selectedRows:r?o:[],toggleOnSelectedRowsChange:i})}case"SELECT_SINGLE_ROW":{const{keyField:o,row:a,isSelected:l,rowCount:r,singleSelect:i}=t;return i?l?Object.assign(Object.assign({},e),{selectedCount:0,allSelected:!1,selectedRows:[],toggleOnSelectedRowsChange:n}):Object.assign(Object.assign({},e),{selectedCount:1,allSelected:!1,selectedRows:[a],toggleOnSelectedRowsChange:n}):l?Object.assign(Object.assign({},e),{selectedCount:e.selectedRows.length>0?e.selectedRows.length-1:0,allSelected:!1,selectedRows:g(e.selectedRows,a,o),toggleOnSelectedRowsChange:n}):Object.assign(Object.assign({},e),{selectedCount:e.selectedRows.length+1,allSelected:e.selectedRows.length+1===r,selectedRows:c(e.selectedRows,a),toggleOnSelectedRowsChange:n})}case"SELECT_MULTIPLE_ROWS":{const{keyField:o,selectedRows:a,totalRows:l,mergeSelections:r}=t;if(r){const t=[...e.selectedRows,...a.filter((t=>!h(t,e.selectedRows,o)))];return Object.assign(Object.assign({},e),{selectedCount:t.length,allSelected:!1,selectedRows:t,toggleOnSelectedRowsChange:n})}return Object.assign(Object.assign({},e),{selectedCount:a.length,allSelected:a.length===l,selectedRows:a,toggleOnSelectedRowsChange:n})}case"CLEAR_SELECTED_ROWS":{const{selectedRowsFlag:n}=t;return Object.assign(Object.assign({},e),{allSelected:!1,selectedCount:0,selectedRows:[],selectedRowsFlag:n})}case"SORT_CHANGE":{const{sortDirection:o,selectedColumn:a,clearSelectedOnSort:l}=t;return Object.assign(Object.assign(Object.assign({},e),{selectedColumn:a,sortDirection:o,currentPage:1}),l&&{allSelected:!1,selectedCount:0,selectedRows:[],toggleOnSelectedRowsChange:n})}case"CHANGE_PAGE":{const{page:o,paginationServer:a,visibleOnly:l,persistSelectedOnPageChange:r}=t,i=a&&r,s=a&&!r||l;return Object.assign(Object.assign(Object.assign(Object.assign({},e),{currentPage:o}),i&&{allSelected:!1}),s&&{allSelected:!1,selectedCount:0,selectedRows:[],toggleOnSelectedRowsChange:n})}case"CHANGE_ROWS_PER_PAGE":{const{rowsPerPage:n,page:o}=t;return Object.assign(Object.assign({},e),{currentPage:o,rowsPerPage:n})}}}const y=t.css` - pointer-events: none; - opacity: 0.4; -`,v=i.default.div` - position: relative; - box-sizing: border-box; - display: flex; - flex-direction: column; - width: 100%; - height: 100%; - max-width: 100%; - ${({disabled:e})=>e&&y}; - ${({theme:e})=>e.table.style}; -`,R=t.css` - position: sticky; - position: -webkit-sticky; /* Safari */ - top: 0; - z-index: 1; -`,S=i.default.div` - display: flex; - width: 100%; - ${({fixedHeader:e})=>e&&R}; - ${({theme:e})=>e.head.style}; -`,E=i.default.div` - display: flex; - align-items: stretch; - width: 100%; - ${({theme:e})=>e.headRow.style}; - ${({dense:e,theme:t})=>e&&t.headRow.denseStyle}; -`,O=(e,...n)=>t.css` - @media screen and (max-width: ${599}px) { - ${t.css(e,...n)} - } - `,P=(e,...n)=>t.css` - @media screen and (max-width: ${959}px) { - ${t.css(e,...n)} - } - `,k=(e,...n)=>t.css` - @media screen and (max-width: ${1280}px) { - ${t.css(e,...n)} - } - `,D=e=>(n,...o)=>t.css` - @media screen and (max-width: ${e}px) { - ${t.css(n,...o)} - } - `,H=i.default.div` - position: relative; - display: flex; - align-items: center; - box-sizing: border-box; - line-height: normal; - ${({theme:e,headCell:t})=>e[t?"headCells":"cells"].style}; - ${({noPadding:e})=>e&&"padding: 0"}; -`,$=i.default(H)` - flex-grow: ${({button:e,grow:t})=>0===t||e?0:t||1}; - flex-shrink: 0; - flex-basis: 0; - max-width: ${({maxWidth:e})=>e||"100%"}; - min-width: ${({minWidth:e})=>e||"100px"}; - ${({width:e})=>e&&t.css` - min-width: ${e}; - max-width: ${e}; - `}; - ${({right:e})=>e&&"justify-content: flex-end"}; - ${({button:e,center:t})=>(t||e)&&"justify-content: center"}; - ${({compact:e,button:t})=>(e||t)&&"padding: 0"}; - - /* handle hiding cells */ - ${({hide:e})=>e&&"sm"===e&&O` - display: none; - `}; - ${({hide:e})=>e&&"md"===e&&P` - display: none; - `}; - ${({hide:e})=>e&&"lg"===e&&k` - display: none; - `}; - ${({hide:e})=>e&&Number.isInteger(e)&&D(e)` - display: none; - `}; -`,j=t.css` - div:first-child { - white-space: ${({wrapCell:e})=>e?"normal":"nowrap"}; - overflow: ${({allowOverflow:e})=>e?"visible":"hidden"}; - text-overflow: ellipsis; - } -`,F=i.default($).attrs((e=>({style:e.style})))` - ${({renderAsCell:e})=>!e&&j}; - ${({theme:e,isDragging:t})=>t&&e.cells.draggingStyle}; - ${({cellStyle:e})=>e}; -`;var T=l.memo((function({id:e,column:t,row:n,rowIndex:o,dataTag:a,isDragging:r,onDragStart:i,onDragOver:s,onDragEnd:c,onDragEnter:g,onDragLeave:u}){const{style:p,classNames:b}=f(n,t.conditionalCellStyles,["rdt_TableCell"]);return l.createElement(F,{id:e,"data-column-id":t.id,role:"cell",className:b,"data-tag":a,cellStyle:t.style,renderAsCell:!!t.cell,allowOverflow:t.allowOverflow,button:t.button,center:t.center,compact:t.compact,grow:t.grow,hide:t.hide,maxWidth:t.maxWidth,minWidth:t.minWidth,right:t.right,width:t.width,wrapCell:t.wrap,style:p,isDragging:r,onDragStart:i,onDragOver:s,onDragEnd:c,onDragEnter:g,onDragLeave:u},!t.cell&&l.createElement("div",{"data-tag":a},function(e,t,n,o){if(!t)return null;if("string"!=typeof t&&"function"!=typeof t)throw new Error("selector must be a . delimited string eg (my.property) or function (e.g. row => row.field");return n&&"function"==typeof n?n(e,o):t&&"function"==typeof t?t(e,o):d(e,t)}(n,t.selector,t.format,o)),t.cell&&t.cell(n,o,t,e))}));var I=l.memo((function({name:e,component:t="input",componentOptions:n={style:{}},indeterminate:o=!1,checked:a=!1,disabled:r=!1,onClick:i=m}){const s=t,d="input"!==s?n.style:(e=>Object.assign(Object.assign({fontSize:"18px"},!e&&{cursor:"pointer"}),{padding:0,marginTop:"1px",verticalAlign:"middle",position:"relative"}))(r),c=l.useMemo((()=>function(e,...t){let n;return Object.keys(e).map((t=>e[t])).forEach(((o,a)=>{const l=e;"function"==typeof o&&(n=Object.assign(Object.assign({},l),{[Object.keys(e)[a]]:o(...t)}));})),n||e}(n,o)),[n,o]);return l.createElement(s,Object.assign({type:"checkbox",ref:e=>{e&&(e.indeterminate=o);},style:d,onClick:r?m:i,name:e,"aria-label":e,checked:a,disabled:r},c,{onChange:m}))}));const M=i.default(H)` - flex: 0 0 48px; - min-width: 48px; - justify-content: center; - align-items: center; - user-select: none; - white-space: nowrap; -`;function A({name:e,keyField:t,row:n,rowCount:o,selected:a,selectableRowsComponent:r,selectableRowsComponentProps:i,selectableRowsSingle:s,selectableRowDisabled:d,onSelectedRow:c}){const g=!(!d||!d(n));return l.createElement(M,{onClick:e=>e.stopPropagation(),className:"rdt_TableCell",noPadding:!0},l.createElement(I,{name:e,component:r,componentOptions:i,checked:a,"aria-checked":a,onClick:()=>{c({type:"SELECT_SINGLE_ROW",row:n,isSelected:a,keyField:t,rowCount:o,singleSelect:s});},disabled:g}))}const L=i.default.button` - display: inline-flex; - align-items: center; - user-select: none; - white-space: nowrap; - border: none; - background-color: transparent; - ${({theme:e})=>e.expanderButton.style}; -`;function _({disabled:e=!1,expanded:t=!1,expandableIcon:n,id:o,row:a,onToggled:r}){const i=t?n.expanded:n.collapsed;return l.createElement(L,{"aria-disabled":e,onClick:()=>r&&r(a),"data-testid":`expander-button-${o}`,disabled:e,"aria-label":t?"Collapse Row":"Expand Row",role:"button",type:"button"},i)}const z=i.default(H)` - white-space: nowrap; - font-weight: 400; - min-width: 48px; - ${({theme:e})=>e.expanderCell.style}; -`;function N({row:e,expanded:t=!1,expandableIcon:n,id:o,onToggled:a,disabled:r=!1}){return l.createElement(z,{onClick:e=>e.stopPropagation(),noPadding:!0},l.createElement(_,{id:o,row:e,expanded:t,expandableIcon:n,disabled:r,onToggled:a}))}const W=i.default.div` - width: 100%; - box-sizing: border-box; - ${({theme:e})=>e.expanderRow.style}; - ${({extendedRowStyle:e})=>e}; -`;var B=l.memo((function({data:e,ExpanderComponent:t,expanderComponentProps:n,extendedRowStyle:o,extendedClassNames:a}){const r=["rdt_ExpanderRow",...a.split(" ").filter((e=>"rdt_TableRow"!==e))].join(" ");return l.createElement(W,{className:r,extendedRowStyle:o},l.createElement(t,Object.assign({data:e},n)))}));var G,V,U;exports.Direction=void 0,(G=exports.Direction||(exports.Direction={})).LTR="ltr",G.RTL="rtl",G.AUTO="auto",exports.Alignment=void 0,(V=exports.Alignment||(exports.Alignment={})).LEFT="left",V.RIGHT="right",V.CENTER="center",exports.Media=void 0,(U=exports.Media||(exports.Media={})).SM="sm",U.MD="md",U.LG="lg";const q=t.css` - &:hover { - ${({highlightOnHover:e,theme:t})=>e&&t.rows.highlightOnHoverStyle}; - } -`,Y=t.css` - &:hover { - cursor: pointer; - } -`,K=i.default.div.attrs((e=>({style:e.style})))` - display: flex; - align-items: stretch; - align-content: stretch; - width: 100%; - box-sizing: border-box; - ${({theme:e})=>e.rows.style}; - ${({dense:e,theme:t})=>e&&t.rows.denseStyle}; - ${({striped:e,theme:t})=>e&&t.rows.stripedStyle}; - ${({highlightOnHover:e})=>e&&q}; - ${({pointerOnHover:e})=>e&&Y}; - ${({selected:e,theme:t})=>e&&t.rows.selectedHighlightStyle}; -`;function J({columns:e=[],conditionalRowStyles:t=[],defaultExpanded:n=!1,defaultExpanderDisabled:o=!1,dense:a=!1,expandableIcon:r,expandableRows:i=!1,expandableRowsComponent:d,expandableRowsComponentProps:c,expandableRowsHideExpander:g,expandOnRowClicked:u=!1,expandOnRowDoubleClicked:p=!1,highlightOnHover:b=!1,id:h,expandableInheritConditionalStyles:w,keyField:C,onRowClicked:y=m,onRowDoubleClicked:v=m,onRowMouseEnter:R=m,onRowMouseLeave:S=m,onRowExpandToggled:E=m,onSelectedRow:O=m,pointerOnHover:P=!1,row:k,rowCount:D,rowIndex:H,selectableRowDisabled:$=null,selectableRows:j=!1,selectableRowsComponent:F,selectableRowsComponentProps:I,selectableRowsHighlight:M=!1,selectableRowsSingle:L=!1,selected:_,striped:z=!1,draggingColumnId:W,onDragStart:G,onDragOver:V,onDragEnd:U,onDragEnter:q,onDragLeave:Y}){const[J,Q]=l.useState(n);l.useEffect((()=>{Q(n);}),[n]);const X=l.useCallback((()=>{Q(!J),E(!J,k);}),[J,E,k]),Z=P||i&&(u||p),ee=l.useCallback((e=>{e.target&&"allowRowEvents"===e.target.getAttribute("data-tag")&&(y(k,e),!o&&i&&u&&X());}),[o,u,i,X,y,k]),te=l.useCallback((e=>{e.target&&"allowRowEvents"===e.target.getAttribute("data-tag")&&(v(k,e),!o&&i&&p&&X());}),[o,p,i,X,v,k]),ne=l.useCallback((e=>{R(k,e);}),[R,k]),oe=l.useCallback((e=>{S(k,e);}),[S,k]),ae=s(k,C),{style:le,classNames:re}=f(k,t,["rdt_TableRow"]),ie=M&&_,se=w?le:{},de=z&&H%2==0;return l.createElement(l.Fragment,null,l.createElement(K,{id:`row-${h}`,role:"row",striped:de,highlightOnHover:b,pointerOnHover:!o&&Z,dense:a,onClick:ee,onDoubleClick:te,onMouseEnter:ne,onMouseLeave:oe,className:re,selected:ie,style:le},j&&l.createElement(A,{name:`select-row-${ae}`,keyField:C,row:k,rowCount:D,selected:_,selectableRowsComponent:F,selectableRowsComponentProps:I,selectableRowDisabled:$,selectableRowsSingle:L,onSelectedRow:O}),i&&!g&&l.createElement(N,{id:ae,expandableIcon:r,expanded:J,row:k,onToggled:X,disabled:o}),e.map((e=>e.omit?null:l.createElement(T,{id:`cell-${e.id}-${ae}`,key:`cell-${e.id}-${ae}`,dataTag:e.ignoreRowClick||e.button?null:"allowRowEvents",column:e,row:k,rowIndex:H,isDragging:x(W,e.id),onDragStart:G,onDragOver:V,onDragEnd:U,onDragEnter:q,onDragLeave:Y})))),i&&J&&l.createElement(B,{key:`expander-${ae}`,data:k,extendedRowStyle:se,extendedClassNames:re,ExpanderComponent:d,expanderComponentProps:c}))}const Q=i.default.span` - padding: 2px; - color: inherit; - flex-grow: 0; - flex-shrink: 0; - ${({sortActive:e})=>e?"opacity: 1":"opacity: 0"}; - ${({sortDirection:e})=>"desc"===e&&"transform: rotate(180deg)"}; -`,X=({sortActive:e,sortDirection:t})=>r.default.createElement(Q,{sortActive:e,sortDirection:t},"▲"),Z=i.default($)` - ${({button:e})=>e&&"text-align: center"}; - ${({theme:e,isDragging:t})=>t&&e.headCells.draggingStyle}; -`,ee=t.css` - cursor: pointer; - span.__rdt_custom_sort_icon__ { - i, - svg { - transform: 'translate3d(0, 0, 0)'; - ${({sortActive:e})=>e?"opacity: 1":"opacity: 0"}; - color: inherit; - font-size: 18px; - height: 18px; - width: 18px; - backface-visibility: hidden; - transform-style: preserve-3d; - transition-duration: 95ms; - transition-property: transform; - } - - &.asc i, - &.asc svg { - transform: rotate(180deg); - } - } - - ${({sortActive:e})=>!e&&t.css` - &:hover, - &:focus { - opacity: 0.7; - - span, - span.__rdt_custom_sort_icon__ * { - opacity: 0.7; - } - } - `}; -`,te=i.default.div` - display: inline-flex; - align-items: center; - justify-content: inherit; - height: 100%; - width: 100%; - outline: none; - user-select: none; - overflow: hidden; - ${({disabled:e})=>!e&&ee}; -`,ne=i.default.div` - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; -`;var oe=l.memo((function({column:e,disabled:t,draggingColumnId:n,selectedColumn:o={},sortDirection:r,sortIcon:i,sortServer:s,pagination:d,paginationServer:c,persistSelectedOnSort:g,selectableRowsVisibleOnly:u,onSort:p,onDragStart:b,onDragOver:m,onDragEnd:f,onDragEnter:h,onDragLeave:w}){l.useEffect((()=>{"string"==typeof e.selector&&console.error(`Warning: ${e.selector} is a string based column selector which has been deprecated as of v7 and will be removed in v8. Instead, use a selector function e.g. row => row[field]...`);}),[]);const[C,y]=l.useState(!1),v=l.useRef(null);if(l.useEffect((()=>{v.current&&y(v.current.scrollWidth>v.current.clientWidth);}),[C]),e.omit)return null;const R=()=>{if(!e.sortable&&!e.selector)return;let t=r;x(o.id,e.id)&&(t=r===a.ASC?a.DESC:a.ASC),p({type:"SORT_CHANGE",sortDirection:t,selectedColumn:e,clearSelectedOnSort:d&&c&&!g||s||u});},S=e=>l.createElement(X,{sortActive:e,sortDirection:r}),E=()=>l.createElement("span",{className:[r,"__rdt_custom_sort_icon__"].join(" ")},i),O=!(!e.sortable||!x(o.id,e.id)),P=!e.sortable||t,k=e.sortable&&!i&&!e.right,D=e.sortable&&!i&&e.right,H=e.sortable&&i&&!e.right,$=e.sortable&&i&&e.right;return l.createElement(Z,{"data-column-id":e.id,className:"rdt_TableCol",headCell:!0,allowOverflow:e.allowOverflow,button:e.button,compact:e.compact,grow:e.grow,hide:e.hide,maxWidth:e.maxWidth,minWidth:e.minWidth,right:e.right,center:e.center,width:e.width,draggable:e.reorder,isDragging:x(e.id,n),onDragStart:b,onDragOver:m,onDragEnd:f,onDragEnter:h,onDragLeave:w},e.name&&l.createElement(te,{"data-column-id":e.id,"data-sort-id":e.id,role:"columnheader",tabIndex:0,className:"rdt_TableCol_Sortable",onClick:P?void 0:R,onKeyPress:P?void 0:e=>{"Enter"===e.key&&R();},sortActive:!P&&O,disabled:P},!P&&$&&E(),!P&&D&&S(O),"string"==typeof e.name?l.createElement(ne,{title:C?e.name:void 0,ref:v,"data-column-id":e.id},e.name):e.name,!P&&H&&E(),!P&&k&&S(O)))}));const ae=i.default(H)` - flex: 0 0 48px; - justify-content: center; - align-items: center; - user-select: none; - white-space: nowrap; - font-size: unset; -`;function le({headCell:e=!0,rowData:t,keyField:n,allSelected:o,mergeSelections:a,selectedRows:r,selectableRowsComponent:i,selectableRowsComponentProps:s,selectableRowDisabled:d,onSelectAllRows:c}){const g=r.length>0&&!o,u=d?t.filter((e=>!d(e))):t,p=0===u.length,b=Math.min(t.length,u.length);return l.createElement(ae,{className:"rdt_TableCol",headCell:e,noPadding:!0},l.createElement(I,{name:"select-all-rows",component:i,componentOptions:s,onClick:()=>{c({type:"SELECT_ALL_ROWS",rows:u,rowCount:b,mergeSelections:a,keyField:n});},checked:o,indeterminate:g,disabled:p}))}function re(e=exports.Direction.AUTO){const t="object"==typeof window,[n,o]=l.useState(!1);return l.useEffect((()=>{if(t)if("auto"!==e)o("rtl"===e);else {const e=!(!window.document||!window.document.createElement),t=document.getElementsByTagName("BODY")[0],n=document.getElementsByTagName("HTML")[0],a="rtl"===t.dir||"rtl"===n.dir;o(e&&a);}}),[e,t]),n}const ie=i.default.div` - display: flex; - align-items: center; - flex: 1 0 auto; - height: 100%; - color: ${({theme:e})=>e.contextMenu.fontColor}; - font-size: ${({theme:e})=>e.contextMenu.fontSize}; - font-weight: 400; -`,se=i.default.div` - display: flex; - align-items: center; - justify-content: flex-end; - flex-wrap: wrap; -`,de=i.default.div` - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - box-sizing: inherit; - z-index: 1; - align-items: center; - justify-content: space-between; - display: flex; - ${({rtl:e})=>e&&"direction: rtl"}; - ${({theme:e})=>e.contextMenu.style}; - ${({theme:e,visible:t})=>t&&e.contextMenu.activeStyle}; -`;function ce({contextMessage:e,contextActions:t,contextComponent:n,selectedCount:o,direction:a}){const r=re(a),i=o>0;return n?l.createElement(de,{visible:i},l.cloneElement(n,{selectedCount:o})):l.createElement(de,{visible:i,rtl:r},l.createElement(ie,null,((e,t,n)=>{if(0===t)return null;const o=1===t?e.singular:e.plural;return n?`${t} ${e.message||""} ${o}`:`${t} ${o} ${e.message||""}`})(e,o,r)),l.createElement(se,null,t))}const ge=i.default.div` - position: relative; - box-sizing: border-box; - overflow: hidden; - display: flex; - flex: 1 1 auto; - align-items: center; - justify-content: space-between; - width: 100%; - flex-wrap: wrap; - ${({theme:e})=>e.header.style} -`,ue=i.default.div` - flex: 1 0 auto; - color: ${({theme:e})=>e.header.fontColor}; - font-size: ${({theme:e})=>e.header.fontSize}; - font-weight: 400; -`,pe=i.default.div` - flex: 1 0 auto; - display: flex; - align-items: center; - justify-content: flex-end; - - > * { - margin-left: 5px; - } -`,be=({title:e,actions:t=null,contextMessage:n,contextActions:o,contextComponent:a,selectedCount:r,direction:i,showMenu:s=!0})=>l.createElement(ge,{className:"rdt_TableHeader",role:"heading","aria-level":1},l.createElement(ue,null,e),t&&l.createElement(pe,null,t),s&&l.createElement(ce,{contextMessage:n,contextActions:o,contextComponent:a,direction:i,selectedCount:r})) - /*! ***************************************************************************** - Copyright (c) Microsoft Corporation. - - Permission to use, copy, modify, and/or distribute this software for any - purpose with or without fee is hereby granted. - - THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY - AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR - OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. - ***************************************************************************** */;function me(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(o=Object.getOwnPropertySymbols(e);afe[e]}; - flex-wrap: ${({wrapContent:e})=>e?"wrap":"nowrap"}; - ${({theme:e})=>e.subHeader.style} -`,we=e=>{var{align:t="right",wrapContent:n=!0}=e,o=me(e,["align","wrapContent"]);return l.createElement(he,Object.assign({align:t,wrapContent:n},o))},xe=i.default.div` - display: flex; - flex-direction: column; -`,Ce=i.default.div` - position: relative; - width: 100%; - border-radius: inherit; - ${({responsive:e,fixedHeader:n})=>e&&t.css` - overflow-x: auto; - - // hidden prevents vertical scrolling in firefox when fixedHeader is disabled - overflow-y: ${n?"auto":"hidden"}; - min-height: 0; - `}; - - ${({fixedHeader:e=!1,fixedHeaderScrollHeight:n="100vh"})=>e&&t.css` - max-height: ${n}; - -webkit-overflow-scrolling: touch; - `}; - - ${({theme:e})=>e.responsiveWrapper.style}; -`,ye=i.default.div` - position: relative; - box-sizing: border-box; - width: 100%; - height: 100%; - ${e=>e.theme.progress.style}; -`,ve=i.default.div` - position: relative; - width: 100%; - ${({theme:e})=>e.tableWrapper.style}; -`,Re=i.default(H)` - white-space: nowrap; - ${({theme:e})=>e.expanderCell.style}; -`,Se=i.default.div` - box-sizing: border-box; - width: 100%; - height: 100%; - ${({theme:e})=>e.noData.style}; -`,Ee=()=>r.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},r.default.createElement("path",{d:"M7 10l5 5 5-5z"}),r.default.createElement("path",{d:"M0 0h24v24H0z",fill:"none"})),Oe=i.default.select` - cursor: pointer; - height: 24px; - max-width: 100%; - user-select: none; - padding-left: 8px; - padding-right: 24px; - box-sizing: content-box; - font-size: inherit; - color: inherit; - border: none; - background-color: transparent; - appearance: none; - direction: ltr; - flex-shrink: 0; - - &::-ms-expand { - display: none; - } - - &:disabled::-ms-expand { - background: #f60; - } - - option { - color: initial; - } -`,Pe=i.default.div` - position: relative; - flex-shrink: 0; - font-size: inherit; - color: inherit; - margin-top: 1px; - - svg { - top: 0; - right: 0; - color: inherit; - position: absolute; - fill: currentColor; - width: 24px; - height: 24px; - display: inline-block; - user-select: none; - pointer-events: none; - } -`,ke=e=>{var{defaultValue:t,onChange:n}=e,o=me(e,["defaultValue","onChange"]);return l.createElement(Pe,null,l.createElement(Oe,Object.assign({onChange:n,defaultValue:t},o)),l.createElement(Ee,null))},De={columns:[],data:[],title:"",keyField:"id",selectableRows:!1,selectableRowsHighlight:!1,selectableRowsNoSelectAll:!1,selectableRowSelected:null,selectableRowDisabled:null,selectableRowsComponent:"input",selectableRowsComponentProps:{},selectableRowsVisibleOnly:!1,selectableRowsSingle:!1,clearSelectedRows:!1,expandableRows:!1,expandableRowDisabled:null,expandableRowExpanded:null,expandOnRowClicked:!1,expandableRowsHideExpander:!1,expandOnRowDoubleClicked:!1,expandableInheritConditionalStyles:!1,expandableRowsComponent:function(){return r.default.createElement("div",null,"To add an expander pass in a component instance via ",r.default.createElement("strong",null,"expandableRowsComponent"),". You can then access props.data from this component.")},expandableIcon:{collapsed:r.default.createElement((()=>r.default.createElement("svg",{fill:"currentColor",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg"},r.default.createElement("path",{d:"M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"}),r.default.createElement("path",{d:"M0-.25h24v24H0z",fill:"none"}))),null),expanded:r.default.createElement((()=>r.default.createElement("svg",{fill:"currentColor",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg"},r.default.createElement("path",{d:"M7.41 7.84L12 12.42l4.59-4.58L18 9.25l-6 6-6-6z"}),r.default.createElement("path",{d:"M0-.75h24v24H0z",fill:"none"}))),null)},expandableRowsComponentProps:{},progressPending:!1,progressComponent:r.default.createElement("div",{style:{fontSize:"24px",fontWeight:700,padding:"24px"}},"Loading..."),persistTableHead:!1,sortIcon:null,sortFunction:null,sortServer:!1,striped:!1,highlightOnHover:!1,pointerOnHover:!1,noContextMenu:!1,contextMessage:{singular:"item",plural:"items",message:"selected"},actions:null,contextActions:null,contextComponent:null,defaultSortFieldId:null,defaultSortAsc:!0,responsive:!0,noDataComponent:r.default.createElement("div",{style:{padding:"24px"}},"There are no records to display"),disabled:!1,noTableHead:!1,noHeader:!1,subHeader:!1,subHeaderAlign:exports.Alignment.RIGHT,subHeaderWrap:!0,subHeaderComponent:null,fixedHeader:!1,fixedHeaderScrollHeight:"100vh",pagination:!1,paginationServer:!1,paginationServerOptions:{persistSelectedOnSort:!1,persistSelectedOnPageChange:!1},paginationDefaultPage:1,paginationResetDefaultPage:!1,paginationTotalRows:0,paginationPerPage:10,paginationRowsPerPageOptions:[10,15,20,25,30],paginationComponent:null,paginationComponentOptions:{},paginationIconFirstPage:r.default.createElement((()=>r.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24","aria-hidden":"true",role:"presentation"},r.default.createElement("path",{d:"M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z"}),r.default.createElement("path",{fill:"none",d:"M24 24H0V0h24v24z"}))),null),paginationIconLastPage:r.default.createElement((()=>r.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24","aria-hidden":"true",role:"presentation"},r.default.createElement("path",{d:"M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z"}),r.default.createElement("path",{fill:"none",d:"M0 0h24v24H0V0z"}))),null),paginationIconNext:r.default.createElement((()=>r.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24","aria-hidden":"true",role:"presentation"},r.default.createElement("path",{d:"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),r.default.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}))),null),paginationIconPrevious:r.default.createElement((()=>r.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24","aria-hidden":"true",role:"presentation"},r.default.createElement("path",{d:"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"}),r.default.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}))),null),dense:!1,conditionalRowStyles:[],theme:"default",customStyles:{},direction:exports.Direction.AUTO,onChangePage:m,onChangeRowsPerPage:m,onRowClicked:m,onRowDoubleClicked:m,onRowMouseEnter:m,onRowMouseLeave:m,onRowExpandToggled:m,onSelectedRowsChange:m,onSort:m,onColumnOrderChange:m},He={rowsPerPageText:"Rows per page:",rangeSeparatorText:"of",noRowsPerPage:!1,selectAllRowsItem:!1,selectAllRowsItemText:"All"},$e=i.default.nav` - display: flex; - flex: 1 1 auto; - justify-content: flex-end; - align-items: center; - box-sizing: border-box; - padding-right: 8px; - padding-left: 8px; - width: 100%; - ${({theme:e})=>e.pagination.style}; -`,je=i.default.button` - position: relative; - display: block; - user-select: none; - border: none; - ${({theme:e})=>e.pagination.pageButtonsStyle}; - ${({isRTL:e})=>e&&"transform: scale(-1, -1)"}; -`,Fe=i.default.div` - display: flex; - align-items: center; - border-radius: 4px; - white-space: nowrap; - ${O` - width: 100%; - justify-content: space-around; - `}; -`,Te=i.default.span` - flex-shrink: 1; - user-select: none; -`,Ie=i.default(Te)` - margin: 0 24px; -`,Me=i.default(Te)` - margin: 0 4px; -`;var Ae=l.memo((function({rowsPerPage:e,rowCount:t,currentPage:n,direction:o=De.direction,paginationRowsPerPageOptions:a=De.paginationRowsPerPageOptions,paginationIconLastPage:r=De.paginationIconLastPage,paginationIconFirstPage:i=De.paginationIconFirstPage,paginationIconNext:s=De.paginationIconNext,paginationIconPrevious:d=De.paginationIconPrevious,paginationComponentOptions:c=De.paginationComponentOptions,onChangeRowsPerPage:g=De.onChangeRowsPerPage,onChangePage:u=De.onChangePage}){const b=(()=>{const e="object"==typeof window;function t(){return {width:e?window.innerWidth:void 0,height:e?window.innerHeight:void 0}}const[n,o]=l.useState(t);return l.useEffect((()=>{if(!e)return ()=>null;function n(){o(t());}return window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)}),[]),n})(),m=re(o),f=b.width&&b.width>599,h=p(t,e),w=n*e,x=w-e+1,C=1===n,y=n===h,v=Object.assign(Object.assign({},He),c),R=n===h?`${x}-${t} ${v.rangeSeparatorText} ${t}`:`${x}-${w} ${v.rangeSeparatorText} ${t}`,S=l.useCallback((()=>u(n-1)),[n,u]),E=l.useCallback((()=>u(n+1)),[n,u]),O=l.useCallback((()=>u(1)),[u]),P=l.useCallback((()=>u(p(t,e))),[u,t,e]),k=l.useCallback((e=>g(Number(e.target.value),n)),[n,g]),D=a.map((e=>l.createElement("option",{key:e,value:e},e)));v.selectAllRowsItem&&D.push(l.createElement("option",{key:-1,value:t},v.selectAllRowsItemText));const H=l.createElement(ke,{onChange:k,defaultValue:e,"aria-label":v.rowsPerPageText},D);return l.createElement($e,{className:"rdt_Pagination"},!v.noRowsPerPage&&f&&l.createElement(l.Fragment,null,l.createElement(Me,null,v.rowsPerPageText),H),f&&l.createElement(Ie,null,R),l.createElement(Fe,null,l.createElement(je,{id:"pagination-first-page",type:"button","aria-label":"First Page","aria-disabled":C,onClick:O,disabled:C,isRTL:m},i),l.createElement(je,{id:"pagination-previous-page",type:"button","aria-label":"Previous Page","aria-disabled":C,onClick:S,disabled:C,isRTL:m},d),!f&&H,l.createElement(je,{id:"pagination-next-page",type:"button","aria-label":"Next Page","aria-disabled":y,onClick:E,disabled:y,isRTL:m},s),l.createElement(je,{id:"pagination-last-page",type:"button","aria-label":"Last Page","aria-disabled":y,onClick:P,disabled:y,isRTL:m},r)))}));const Le=(e,t)=>{const n=l.useRef(!0);l.useEffect((()=>{n.current?n.current=!1:e();}),t);};var _e=function(e){return function(e){return !!e&&"object"==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return "[object RegExp]"===t||"[object Date]"===t||function(e){return e.$$typeof===ze}(e)}(e)};var ze="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function Ne(e,t){return !1!==t.clone&&t.isMergeableObject(e)?Ue((n=e,Array.isArray(n)?[]:{}),e,t):e;var n;}function We(e,t,n){return e.concat(t).map((function(e){return Ne(e,n)}))}function Be(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return e.propertyIsEnumerable(t)})):[]}(e))}function Ge(e,t){try{return t in e}catch(e){return !1}}function Ve(e,t,n){var o={};return n.isMergeableObject(e)&&Be(e).forEach((function(t){o[t]=Ne(e[t],n);})),Be(t).forEach((function(a){(function(e,t){return Ge(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,a)||(Ge(e,a)&&n.isMergeableObject(t[a])?o[a]=function(e,t){if(!t.customMerge)return Ue;var n=t.customMerge(e);return "function"==typeof n?n:Ue}(a,n)(e[a],t[a],n):o[a]=Ne(t[a],n));})),o}function Ue(e,t,n){(n=n||{}).arrayMerge=n.arrayMerge||We,n.isMergeableObject=n.isMergeableObject||_e,n.cloneUnlessOtherwiseSpecified=Ne;var o=Array.isArray(t);return o===Array.isArray(e)?o?n.arrayMerge(e,t,n):Ve(e,t,n):Ne(t,n)}Ue.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce((function(e,n){return Ue(e,n,t)}),{})};var qe=Ue;const Ye={text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.54)",disabled:"rgba(0, 0, 0, 0.38)"},background:{default:"#FFFFFF"},context:{background:"#e3f2fd",text:"rgba(0, 0, 0, 0.87)"},divider:{default:"rgba(0,0,0,.12)"},button:{default:"rgba(0,0,0,.54)",focus:"rgba(0,0,0,.12)",hover:"rgba(0,0,0,.12)",disabled:"rgba(0, 0, 0, .18)"},selected:{default:"#e3f2fd",text:"rgba(0, 0, 0, 0.87)"},highlightOnHover:{default:"#EEEEEE",text:"rgba(0, 0, 0, 0.87)"},striped:{default:"#FAFAFA",text:"rgba(0, 0, 0, 0.87)"}},Ke={default:Ye,light:Ye,dark:{text:{primary:"#FFFFFF",secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(0,0,0,.12)"},background:{default:"#424242"},context:{background:"#E91E63",text:"#FFFFFF"},divider:{default:"rgba(81, 81, 81, 1)"},button:{default:"#FFFFFF",focus:"rgba(255, 255, 255, .54)",hover:"rgba(255, 255, 255, .12)",disabled:"rgba(255, 255, 255, .18)"},selected:{default:"rgba(0, 0, 0, .7)",text:"#FFFFFF"},highlightOnHover:{default:"rgba(0, 0, 0, .7)",text:"#FFFFFF"},striped:{default:"rgba(0, 0, 0, .87)",text:"#FFFFFF"}}};function Je(e,t,n,o){const[r,i]=l.useState((()=>u(e))),[s,d]=l.useState(""),c=l.useRef("");Le((()=>{i(u(e));}),[e]);const g=l.useCallback((e=>{var t,n,o;const{attributes:a}=e.target,l=null===(t=a.getNamedItem("data-column-id"))||void 0===t?void 0:t.value;l&&(c.current=(null===(o=null===(n=r[w(r,l)])||void 0===n?void 0:n.id)||void 0===o?void 0:o.toString())||"",d(c.current));}),[r]),p=l.useCallback((e=>{var n;const{attributes:o}=e.target,a=null===(n=o.getNamedItem("data-column-id"))||void 0===n?void 0:n.value;if(a&&c.current&&a!==c.current){const e=w(r,c.current),n=w(r,a),o=[...r];o[e]=r[n],o[n]=r[e],i(o),t(o);}}),[t,r]),b=l.useCallback((e=>{e.preventDefault();}),[]),m=l.useCallback((e=>{e.preventDefault();}),[]),f=l.useCallback((e=>{e.preventDefault(),c.current="",d("");}),[]),h=function(e=!1){return e?a.ASC:a.DESC}(o),x=l.useMemo((()=>r[w(r,null==n?void 0:n.toString())]||{}),[n,r]);return {tableColumns:r,draggingColumnId:s,handleDragStart:g,handleDragEnter:p,handleDragOver:b,handleDragLeave:m,handleDragEnd:f,defaultSortDirection:h,defaultSortColumn:x}}var Qe=l.memo((function(e){const{data:n=De.data,columns:o=De.columns,title:r=De.title,actions:i=De.actions,keyField:c=De.keyField,striped:g=De.striped,highlightOnHover:u=De.highlightOnHover,pointerOnHover:m=De.pointerOnHover,dense:f=De.dense,selectableRows:w=De.selectableRows,selectableRowsSingle:x=De.selectableRowsSingle,selectableRowsHighlight:y=De.selectableRowsHighlight,selectableRowsNoSelectAll:R=De.selectableRowsNoSelectAll,selectableRowsVisibleOnly:O=De.selectableRowsVisibleOnly,selectableRowSelected:P=De.selectableRowSelected,selectableRowDisabled:k=De.selectableRowDisabled,selectableRowsComponent:D=De.selectableRowsComponent,selectableRowsComponentProps:$=De.selectableRowsComponentProps,onRowExpandToggled:j=De.onRowExpandToggled,onSelectedRowsChange:F=De.onSelectedRowsChange,expandableIcon:T=De.expandableIcon,onChangeRowsPerPage:I=De.onChangeRowsPerPage,onChangePage:M=De.onChangePage,paginationServer:A=De.paginationServer,paginationServerOptions:L=De.paginationServerOptions,paginationTotalRows:_=De.paginationTotalRows,paginationDefaultPage:z=De.paginationDefaultPage,paginationResetDefaultPage:N=De.paginationResetDefaultPage,paginationPerPage:W=De.paginationPerPage,paginationRowsPerPageOptions:B=De.paginationRowsPerPageOptions,paginationIconLastPage:G=De.paginationIconLastPage,paginationIconFirstPage:V=De.paginationIconFirstPage,paginationIconNext:U=De.paginationIconNext,paginationIconPrevious:q=De.paginationIconPrevious,paginationComponent:Y=De.paginationComponent,paginationComponentOptions:K=De.paginationComponentOptions,responsive:Q=De.responsive,progressPending:X=De.progressPending,progressComponent:Z=De.progressComponent,persistTableHead:ee=De.persistTableHead,noDataComponent:te=De.noDataComponent,disabled:ne=De.disabled,noTableHead:ae=De.noTableHead,noHeader:re=De.noHeader,fixedHeader:ie=De.fixedHeader,fixedHeaderScrollHeight:se=De.fixedHeaderScrollHeight,pagination:de=De.pagination,subHeader:ce=De.subHeader,subHeaderAlign:ge=De.subHeaderAlign,subHeaderWrap:ue=De.subHeaderWrap,subHeaderComponent:pe=De.subHeaderComponent,noContextMenu:me=De.noContextMenu,contextMessage:fe=De.contextMessage,contextActions:he=De.contextActions,contextComponent:Ee=De.contextComponent,expandableRows:Oe=De.expandableRows,onRowClicked:Pe=De.onRowClicked,onRowDoubleClicked:ke=De.onRowDoubleClicked,onRowMouseEnter:He=De.onRowMouseEnter,onRowMouseLeave:$e=De.onRowMouseLeave,sortIcon:je=De.sortIcon,onSort:Fe=De.onSort,sortFunction:Te=De.sortFunction,sortServer:Ie=De.sortServer,expandableRowsComponent:Me=De.expandableRowsComponent,expandableRowsComponentProps:_e=De.expandableRowsComponentProps,expandableRowDisabled:ze=De.expandableRowDisabled,expandableRowsHideExpander:Ne=De.expandableRowsHideExpander,expandOnRowClicked:We=De.expandOnRowClicked,expandOnRowDoubleClicked:Be=De.expandOnRowDoubleClicked,expandableRowExpanded:Ge=De.expandableRowExpanded,expandableInheritConditionalStyles:Ve=De.expandableInheritConditionalStyles,defaultSortFieldId:Ue=De.defaultSortFieldId,defaultSortAsc:Ye=De.defaultSortAsc,clearSelectedRows:Qe=De.clearSelectedRows,conditionalRowStyles:Xe=De.conditionalRowStyles,theme:Ze=De.theme,customStyles:et=De.customStyles,direction:tt=De.direction,onColumnOrderChange:nt=De.onColumnOrderChange,className:ot}=e,{tableColumns:at,draggingColumnId:lt,handleDragStart:rt,handleDragEnter:it,handleDragOver:st,handleDragLeave:dt,handleDragEnd:ct,defaultSortDirection:gt,defaultSortColumn:ut}=Je(o,nt,Ue,Ye),[{rowsPerPage:pt,currentPage:bt,selectedRows:mt,allSelected:ft,selectedCount:ht,selectedColumn:wt,sortDirection:xt,toggleOnSelectedRowsChange:Ct},yt]=l.useReducer(C,{allSelected:!1,selectedCount:0,selectedRows:[],selectedColumn:ut,toggleOnSelectedRowsChange:!1,sortDirection:gt,currentPage:z,rowsPerPage:W,selectedRowsFlag:!1,contextMessage:De.contextMessage}),{persistSelectedOnSort:vt=!1,persistSelectedOnPageChange:Rt=!1}=L,St=!(!A||!Rt&&!vt),Et=de&&!X&&n.length>0,Ot=Y||Ae,Pt=l.useMemo((()=>((e={},t="default",n="default")=>{const o=Ke[t]?t:n;return qe({table:{style:{color:(a=Ke[o]).text.primary,backgroundColor:a.background.default}},tableWrapper:{style:{display:"table"}},responsiveWrapper:{style:{}},header:{style:{fontSize:"22px",color:a.text.primary,backgroundColor:a.background.default,minHeight:"56px",paddingLeft:"16px",paddingRight:"8px"}},subHeader:{style:{backgroundColor:a.background.default,minHeight:"52px"}},head:{style:{color:a.text.primary,fontSize:"12px",fontWeight:500}},headRow:{style:{backgroundColor:a.background.default,minHeight:"52px",borderBottomWidth:"1px",borderBottomColor:a.divider.default,borderBottomStyle:"solid"},denseStyle:{minHeight:"32px"}},headCells:{style:{paddingLeft:"16px",paddingRight:"16px"},draggingStyle:{cursor:"move"}},contextMenu:{style:{backgroundColor:a.context.background,fontSize:"18px",fontWeight:400,color:a.context.text,paddingLeft:"16px",paddingRight:"8px",transform:"translate3d(0, -100%, 0)",transitionDuration:"125ms",transitionTimingFunction:"cubic-bezier(0, 0, 0.2, 1)",willChange:"transform"},activeStyle:{transform:"translate3d(0, 0, 0)"}},cells:{style:{paddingLeft:"16px",paddingRight:"16px",wordBreak:"break-word"},draggingStyle:{}},rows:{style:{fontSize:"13px",fontWeight:400,color:a.text.primary,backgroundColor:a.background.default,minHeight:"48px","&:not(:last-of-type)":{borderBottomStyle:"solid",borderBottomWidth:"1px",borderBottomColor:a.divider.default}},denseStyle:{minHeight:"32px"},selectedHighlightStyle:{"&:nth-of-type(n)":{color:a.selected.text,backgroundColor:a.selected.default,borderBottomColor:a.background.default}},highlightOnHoverStyle:{color:a.highlightOnHover.text,backgroundColor:a.highlightOnHover.default,transitionDuration:"0.15s",transitionProperty:"background-color",borderBottomColor:a.background.default,outlineStyle:"solid",outlineWidth:"1px",outlineColor:a.background.default},stripedStyle:{color:a.striped.text,backgroundColor:a.striped.default}},expanderRow:{style:{color:a.text.primary,backgroundColor:a.background.default}},expanderCell:{style:{flex:"0 0 48px"}},expanderButton:{style:{color:a.button.default,fill:a.button.default,backgroundColor:"transparent",borderRadius:"2px",transition:"0.25s",height:"100%",width:"100%","&:hover:enabled":{cursor:"pointer"},"&:disabled":{color:a.button.disabled},"&:hover:not(:disabled)":{cursor:"pointer",backgroundColor:a.button.hover},"&:focus":{outline:"none",backgroundColor:a.button.focus},svg:{margin:"auto"}}},pagination:{style:{color:a.text.secondary,fontSize:"13px",minHeight:"56px",backgroundColor:a.background.default,borderTopStyle:"solid",borderTopWidth:"1px",borderTopColor:a.divider.default},pageButtonsStyle:{borderRadius:"50%",height:"40px",width:"40px",padding:"8px",margin:"px",cursor:"pointer",transition:"0.4s",color:a.button.default,fill:a.button.default,backgroundColor:"transparent","&:disabled":{cursor:"unset",color:a.button.disabled,fill:a.button.disabled},"&:hover:not(:disabled)":{backgroundColor:a.button.hover},"&:focus":{outline:"none",backgroundColor:a.button.focus}}},noData:{style:{display:"flex",alignItems:"center",justifyContent:"center",color:a.text.primary,backgroundColor:a.background.default}},progress:{style:{display:"flex",alignItems:"center",justifyContent:"center",color:a.text.primary,backgroundColor:a.background.default}}},e);var a;})(et,Ze)),[et,Ze]),kt=l.useMemo((()=>Object.assign({},"auto"!==tt&&{dir:tt})),[tt]),Dt=l.useMemo((()=>{if(Ie)return n;if((null==wt?void 0:wt.sortFunction)&&"function"==typeof wt.sortFunction){const e=wt.sortFunction,t=xt===a.ASC?e:(t,n)=>-1*e(t,n);return [...n].sort(t)}return function(e,t,n,o){return t?o&&"function"==typeof o?o(e.slice(0),t,n):e.slice(0).sort(((e,o)=>{let a,l;if("string"==typeof t?(a=d(e,t),l=d(o,t)):(a=t(e),l=t(o)),"asc"===n){if(al)return 1}if("desc"===n){if(a>l)return -1;if(a{if(de&&!A){const e=bt*pt,t=e-pt;return Dt.slice(t,e)}return Dt}),[bt,de,A,pt,Dt]),$t=l.useCallback((e=>{yt(e);}),[]),jt=l.useCallback((e=>{yt(e);}),[]),Ft=l.useCallback((e=>{yt(e);}),[]),Tt=l.useCallback(((e,t)=>Pe(e,t)),[Pe]),It=l.useCallback(((e,t)=>ke(e,t)),[ke]),Mt=l.useCallback(((e,t)=>He(e,t)),[He]),At=l.useCallback(((e,t)=>$e(e,t)),[$e]),Lt=l.useCallback((e=>yt({type:"CHANGE_PAGE",page:e,paginationServer:A,visibleOnly:O,persistSelectedOnPageChange:Rt})),[A,Rt,O]),_t=l.useCallback((e=>{const t=p(_||Ht.length,e),n=b(bt,t);A||Lt(n),yt({type:"CHANGE_ROWS_PER_PAGE",page:n,rowsPerPage:e});}),[bt,Lt,A,_,Ht.length]);if(de&&!A&&Dt.length>0&&0===Ht.length){const e=p(Dt.length,pt),t=b(bt,e);Lt(t);}Le((()=>{F({allSelected:ft,selectedCount:ht,selectedRows:mt.slice(0)});}),[Ct]),Le((()=>{Fe(wt,xt,Dt.slice(0));}),[wt,xt]),Le((()=>{M(bt,_||Dt.length);}),[bt]),Le((()=>{I(pt,bt);}),[pt]),Le((()=>{Lt(z);}),[z,N]),Le((()=>{if(de&&A&&_>0){const e=p(_,pt),t=b(bt,e);bt!==t&&Lt(t);}}),[_]),l.useEffect((()=>{yt({type:"CLEAR_SELECTED_ROWS",selectedRowsFlag:Qe});}),[x,Qe]),l.useEffect((()=>{if(!P)return;const e=Dt.filter((e=>P(e))),t=x?e.slice(0,1):e;yt({type:"SELECT_MULTIPLE_ROWS",keyField:c,selectedRows:t,totalRows:Dt.length,mergeSelections:St});}),[n,P]);const zt=O?Ht:Dt,Nt=Rt||x||R;return l.createElement(t.ThemeProvider,{theme:Pt},!re&&(!!r||!!i)&&l.createElement(be,{title:r,actions:i,showMenu:!me,selectedCount:ht,direction:tt,contextActions:he,contextComponent:Ee,contextMessage:fe}),ce&&l.createElement(we,{align:ge,wrapContent:ue},pe),l.createElement(Ce,Object.assign({responsive:Q,fixedHeader:ie,fixedHeaderScrollHeight:se,className:ot},kt),l.createElement(ve,null,X&&!ee&&l.createElement(ye,null,Z),l.createElement(v,{disabled:ne,className:"rdt_Table",role:"table"},!ae&&(!!ee||Dt.length>0&&!X)&&l.createElement(S,{className:"rdt_TableHead",role:"rowgroup",fixedHeader:ie},l.createElement(E,{className:"rdt_TableHeadRow",role:"row",dense:f},w&&(Nt?l.createElement(H,{style:{flex:"0 0 48px"}}):l.createElement(le,{allSelected:ft,selectedRows:mt,selectableRowsComponent:D,selectableRowsComponentProps:$,selectableRowDisabled:k,rowData:zt,keyField:c,mergeSelections:St,onSelectAllRows:jt})),Oe&&!Ne&&l.createElement(Re,null),at.map((e=>l.createElement(oe,{key:e.id,column:e,selectedColumn:wt,disabled:X||0===Dt.length,pagination:de,paginationServer:A,persistSelectedOnSort:vt,selectableRowsVisibleOnly:O,sortDirection:xt,sortIcon:je,sortServer:Ie,onSort:$t,onDragStart:rt,onDragOver:st,onDragEnd:ct,onDragEnter:it,onDragLeave:dt,draggingColumnId:lt}))))),!Dt.length&&!X&&l.createElement(Se,null,te),X&&ee&&l.createElement(ye,null,Z),!X&&Dt.length>0&&l.createElement(xe,{className:"rdt_TableBody",role:"rowgroup"},Ht.map(((e,t)=>{const n=s(e,c),o=function(e=""){return "number"!=typeof e&&(!e||0===e.length)}(n)?t:n,a=h(e,mt,c),r=!!(Oe&&Ge&&Ge(e)),i=!!(Oe&&ze&&ze(e));return l.createElement(J,{id:o,key:o,keyField:c,"data-row-id":o,columns:at,row:e,rowCount:Dt.length,rowIndex:t,selectableRows:w,expandableRows:Oe,expandableIcon:T,highlightOnHover:u,pointerOnHover:m,dense:f,expandOnRowClicked:We,expandOnRowDoubleClicked:Be,expandableRowsComponent:Me,expandableRowsComponentProps:_e,expandableRowsHideExpander:Ne,defaultExpanderDisabled:i,defaultExpanded:r,expandableInheritConditionalStyles:Ve,conditionalRowStyles:Xe,selected:a,selectableRowsHighlight:y,selectableRowsComponent:D,selectableRowsComponentProps:$,selectableRowDisabled:k,selectableRowsSingle:x,striped:g,onRowExpandToggled:j,onRowClicked:Tt,onRowDoubleClicked:It,onRowMouseEnter:Mt,onRowMouseLeave:At,onSelectedRow:Ft,draggingColumnId:lt,onDragStart:rt,onDragOver:st,onDragEnd:ct,onDragEnter:it,onDragLeave:dt})})))))),Et&&l.createElement("div",null,l.createElement(Ot,{onChangePage:Lt,onChangeRowsPerPage:_t,rowCount:_||Dt.length,currentPage:bt,rowsPerPage:pt,direction:tt,paginationRowsPerPageOptions:B,paginationIconLastPage:G,paginationIconFirstPage:V,paginationIconNext:U,paginationIconPrevious:q,paginationComponentOptions:K})))}));exports.STOP_PROP_TAG="allowRowEvents",exports.createTheme=function(e="default",t,n="default"){return Ke[e]||(Ke[e]=qe(Ke[n],t||{})),Ke[e]=qe(Ke[e],t||{}),Ke[e]},exports.default=Qe,exports.defaultThemes=Ke; - - }(index_cjs)); - - var DataTable = /*@__PURE__*/getDefaultExportFromCjs(index_cjs); - - function _typeof(obj) { - "@babel/helpers - typeof"; - - return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { - return typeof obj; - } : function (obj) { - return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; - }, _typeof(obj); - } - - function _toPrimitive(input, hint) { - if (_typeof(input) !== "object" || input === null) return input; - var prim = input[Symbol.toPrimitive]; - if (prim !== undefined) { - var res = prim.call(input, hint || "default"); - if (_typeof(res) !== "object") return res; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return (hint === "string" ? String : Number)(input); - } - - function _toPropertyKey(arg) { - var key = _toPrimitive(arg, "string"); - return _typeof(key) === "symbol" ? key : String(key); - } - - function _defineProperty(obj, key, value) { - key = _toPropertyKey(key); - if (key in obj) { - Object.defineProperty(obj, key, { - value: value, - enumerable: true, - configurable: true, - writable: true - }); - } else { - obj[key] = value; - } - return obj; - } - - function ownKeys(object, enumerableOnly) { - var keys = Object.keys(object); - if (Object.getOwnPropertySymbols) { - var symbols = Object.getOwnPropertySymbols(object); - enumerableOnly && (symbols = symbols.filter(function (sym) { - return Object.getOwnPropertyDescriptor(object, sym).enumerable; - })), keys.push.apply(keys, symbols); - } - return keys; - } - function _objectSpread2(target) { - for (var i = 1; i < arguments.length; i++) { - var source = null != arguments[i] ? arguments[i] : {}; - i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { - _defineProperty(target, key, source[key]); - }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { - Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); - }); - } - return target; - } - - function _arrayWithHoles(arr) { - if (Array.isArray(arr)) return arr; - } - - function _iterableToArrayLimit(arr, i) { - var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; - if (null != _i) { - var _s, - _e, - _x, - _r, - _arr = [], - _n = !0, - _d = !1; - try { - if (_x = (_i = _i.call(arr)).next, 0 === i) { - if (Object(_i) !== _i) return; - _n = !1; - } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); - } catch (err) { - _d = !0, _e = err; - } finally { - try { - if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; - } finally { - if (_d) throw _e; - } - } - return _arr; - } - } - - function _arrayLikeToArray(arr, len) { - if (len == null || len > arr.length) len = arr.length; - for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; - return arr2; - } - - function _unsupportedIterableToArray(o, minLen) { - if (!o) return; - if (typeof o === "string") return _arrayLikeToArray(o, minLen); - var n = Object.prototype.toString.call(o).slice(8, -1); - if (n === "Object" && o.constructor) n = o.constructor.name; - if (n === "Map" || n === "Set") return Array.from(o); - if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); - } - - function _nonIterableRest() { - throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); - } - - function _slicedToArray(arr, i) { - return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); - } - - function _objectWithoutPropertiesLoose(source, excluded) { - if (source == null) return {}; - var target = {}; - var sourceKeys = Object.keys(source); - var key, i; - for (i = 0; i < sourceKeys.length; i++) { - key = sourceKeys[i]; - if (excluded.indexOf(key) >= 0) continue; - target[key] = source[key]; - } - return target; - } - - function _objectWithoutProperties(source, excluded) { - if (source == null) return {}; - var target = _objectWithoutPropertiesLoose(source, excluded); - var key, i; - if (Object.getOwnPropertySymbols) { - var sourceSymbolKeys = Object.getOwnPropertySymbols(source); - for (i = 0; i < sourceSymbolKeys.length; i++) { - key = sourceSymbolKeys[i]; - if (excluded.indexOf(key) >= 0) continue; - if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; - target[key] = source[key]; - } - } - return target; - } - - var _excluded$5 = ["defaultInputValue", "defaultMenuIsOpen", "defaultValue", "inputValue", "menuIsOpen", "onChange", "onInputChange", "onMenuClose", "onMenuOpen", "value"]; - function useStateManager(_ref) { - var _ref$defaultInputValu = _ref.defaultInputValue, - defaultInputValue = _ref$defaultInputValu === void 0 ? '' : _ref$defaultInputValu, - _ref$defaultMenuIsOpe = _ref.defaultMenuIsOpen, - defaultMenuIsOpen = _ref$defaultMenuIsOpe === void 0 ? false : _ref$defaultMenuIsOpe, - _ref$defaultValue = _ref.defaultValue, - defaultValue = _ref$defaultValue === void 0 ? null : _ref$defaultValue, - propsInputValue = _ref.inputValue, - propsMenuIsOpen = _ref.menuIsOpen, - propsOnChange = _ref.onChange, - propsOnInputChange = _ref.onInputChange, - propsOnMenuClose = _ref.onMenuClose, - propsOnMenuOpen = _ref.onMenuOpen, - propsValue = _ref.value, - restSelectProps = _objectWithoutProperties(_ref, _excluded$5); - var _useState = React$1.useState(propsInputValue !== undefined ? propsInputValue : defaultInputValue), - _useState2 = _slicedToArray(_useState, 2), - stateInputValue = _useState2[0], - setStateInputValue = _useState2[1]; - var _useState3 = React$1.useState(propsMenuIsOpen !== undefined ? propsMenuIsOpen : defaultMenuIsOpen), - _useState4 = _slicedToArray(_useState3, 2), - stateMenuIsOpen = _useState4[0], - setStateMenuIsOpen = _useState4[1]; - var _useState5 = React$1.useState(propsValue !== undefined ? propsValue : defaultValue), - _useState6 = _slicedToArray(_useState5, 2), - stateValue = _useState6[0], - setStateValue = _useState6[1]; - var onChange = React$1.useCallback(function (value, actionMeta) { - if (typeof propsOnChange === 'function') { - propsOnChange(value, actionMeta); - } - setStateValue(value); - }, [propsOnChange]); - var onInputChange = React$1.useCallback(function (value, actionMeta) { - var newValue; - if (typeof propsOnInputChange === 'function') { - newValue = propsOnInputChange(value, actionMeta); - } - setStateInputValue(newValue !== undefined ? newValue : value); - }, [propsOnInputChange]); - var onMenuOpen = React$1.useCallback(function () { - if (typeof propsOnMenuOpen === 'function') { - propsOnMenuOpen(); - } - setStateMenuIsOpen(true); - }, [propsOnMenuOpen]); - var onMenuClose = React$1.useCallback(function () { - if (typeof propsOnMenuClose === 'function') { - propsOnMenuClose(); - } - setStateMenuIsOpen(false); - }, [propsOnMenuClose]); - var inputValue = propsInputValue !== undefined ? propsInputValue : stateInputValue; - var menuIsOpen = propsMenuIsOpen !== undefined ? propsMenuIsOpen : stateMenuIsOpen; - var value = propsValue !== undefined ? propsValue : stateValue; - return _objectSpread2(_objectSpread2({}, restSelectProps), {}, { - inputValue: inputValue, - menuIsOpen: menuIsOpen, - onChange: onChange, - onInputChange: onInputChange, - onMenuClose: onMenuClose, - onMenuOpen: onMenuOpen, - value: value - }); - } - - function _extends$1() { - _extends$1 = Object.assign ? Object.assign.bind() : function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i]; - for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; - } - } - } - return target; - }; - return _extends$1.apply(this, arguments); - } - - function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } - } - - function _defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); - } - } - function _createClass(Constructor, protoProps, staticProps) { - if (protoProps) _defineProperties(Constructor.prototype, protoProps); - if (staticProps) _defineProperties(Constructor, staticProps); - Object.defineProperty(Constructor, "prototype", { - writable: false - }); - return Constructor; - } - - function _setPrototypeOf(o, p) { - _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { - o.__proto__ = p; - return o; - }; - return _setPrototypeOf(o, p); - } - - function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function"); - } - subClass.prototype = Object.create(superClass && superClass.prototype, { - constructor: { - value: subClass, - writable: true, - configurable: true - } - }); - Object.defineProperty(subClass, "prototype", { - writable: false - }); - if (superClass) _setPrototypeOf(subClass, superClass); - } - - function _getPrototypeOf(o) { - _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { - return o.__proto__ || Object.getPrototypeOf(o); - }; - return _getPrototypeOf(o); - } - - function _isNativeReflectConstruct() { - if (typeof Reflect === "undefined" || !Reflect.construct) return false; - if (Reflect.construct.sham) return false; - if (typeof Proxy === "function") return true; - try { - Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); - return true; - } catch (e) { - return false; - } - } - - function _assertThisInitialized(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; - } - - function _possibleConstructorReturn(self, call) { - if (call && (_typeof(call) === "object" || typeof call === "function")) { - return call; - } else if (call !== void 0) { - throw new TypeError("Derived constructors may only return object or undefined"); - } - return _assertThisInitialized(self); - } - - function _createSuper(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct(); - return function _createSuperInternal() { - var Super = _getPrototypeOf(Derived), - result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn(this, result); - }; - } - - function _arrayWithoutHoles(arr) { - if (Array.isArray(arr)) return _arrayLikeToArray(arr); - } - - function _iterableToArray(iter) { - if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); - } - - function _nonIterableSpread() { - throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); - } - - function _toConsumableArray(arr) { - return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); - } - - /* - - Based off glamor's StyleSheet, thanks Sunil ❤️ - - high performance StyleSheet for css-in-js systems - - - uses multiple style tags behind the scenes for millions of rules - - uses `insertRule` for appending in production for *much* faster performance - - // usage - - import { StyleSheet } from '@emotion/sheet' - - let styleSheet = new StyleSheet({ key: '', container: document.head }) - - styleSheet.insert('#box { border: 1px solid red; }') - - appends a css rule into the stylesheet - - styleSheet.flush() - - empties the stylesheet of all its contents - - */ - // $FlowFixMe - function sheetForTag(tag) { - if (tag.sheet) { - // $FlowFixMe - return tag.sheet; - } // this weirdness brought to you by firefox - - /* istanbul ignore next */ - - - for (var i = 0; i < document.styleSheets.length; i++) { - if (document.styleSheets[i].ownerNode === tag) { - // $FlowFixMe - return document.styleSheets[i]; - } - } - } - - function createStyleElement(options) { - var tag = document.createElement('style'); - tag.setAttribute('data-emotion', options.key); - - if (options.nonce !== undefined) { - tag.setAttribute('nonce', options.nonce); - } - - tag.appendChild(document.createTextNode('')); - tag.setAttribute('data-s', ''); - return tag; - } - - var StyleSheet = /*#__PURE__*/function () { - // Using Node instead of HTMLElement since container may be a ShadowRoot - function StyleSheet(options) { - var _this = this; - - this._insertTag = function (tag) { - var before; - - if (_this.tags.length === 0) { - if (_this.insertionPoint) { - before = _this.insertionPoint.nextSibling; - } else if (_this.prepend) { - before = _this.container.firstChild; - } else { - before = _this.before; - } - } else { - before = _this.tags[_this.tags.length - 1].nextSibling; - } - - _this.container.insertBefore(tag, before); - - _this.tags.push(tag); - }; - - this.isSpeedy = options.speedy === undefined ? "development" === 'production' : options.speedy; - this.tags = []; - this.ctr = 0; - this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets - - this.key = options.key; - this.container = options.container; - this.prepend = options.prepend; - this.insertionPoint = options.insertionPoint; - this.before = null; - } - - var _proto = StyleSheet.prototype; - - _proto.hydrate = function hydrate(nodes) { - nodes.forEach(this._insertTag); - }; - - _proto.insert = function insert(rule) { - // the max length is how many rules we have per style tag, it's 65000 in speedy mode - // it's 1 in dev because we insert source maps that map a single rule to a location - // and you can only have one source map per style tag - if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) { - this._insertTag(createStyleElement(this)); - } - - var tag = this.tags[this.tags.length - 1]; - - { - var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105; - - if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) { - // this would only cause problem in speedy mode - // but we don't want enabling speedy to affect the observable behavior - // so we report this error at all times - console.error("You're attempting to insert the following rule:\n" + rule + '\n\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.'); - } - this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule; - } - - if (this.isSpeedy) { - var sheet = sheetForTag(tag); - - try { - // this is the ultrafast version, works across browsers - // the big drawback is that the css won't be editable in devtools - sheet.insertRule(rule, sheet.cssRules.length); - } catch (e) { - if (!/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(rule)) { - console.error("There was a problem inserting the following rule: \"" + rule + "\"", e); - } - } - } else { - tag.appendChild(document.createTextNode(rule)); - } - - this.ctr++; - }; - - _proto.flush = function flush() { - // $FlowFixMe - this.tags.forEach(function (tag) { - return tag.parentNode && tag.parentNode.removeChild(tag); - }); - this.tags = []; - this.ctr = 0; - - { - this._alreadyInsertedOrderInsensitiveRule = false; - } - }; - - return StyleSheet; - }(); - - var MS = '-ms-'; - var MOZ = '-moz-'; - var WEBKIT = '-webkit-'; - - var COMMENT = 'comm'; - var RULESET = 'rule'; - var DECLARATION = 'decl'; - var IMPORT = '@import'; - var KEYFRAMES = '@keyframes'; - - /** - * @param {number} - * @return {number} - */ - var abs = Math.abs; - - /** - * @param {number} - * @return {string} - */ - var from = String.fromCharCode; - - /** - * @param {object} - * @return {object} - */ - var assign = Object.assign; - - /** - * @param {string} value - * @param {number} length - * @return {number} - */ - function hash (value, length) { - return charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0 - } - - /** - * @param {string} value - * @return {string} - */ - function trim (value) { - return value.trim() - } - - /** - * @param {string} value - * @param {RegExp} pattern - * @return {string?} - */ - function match (value, pattern) { - return (value = pattern.exec(value)) ? value[0] : value - } - - /** - * @param {string} value - * @param {(string|RegExp)} pattern - * @param {string} replacement - * @return {string} - */ - function replace (value, pattern, replacement) { - return value.replace(pattern, replacement) - } - - /** - * @param {string} value - * @param {string} search - * @return {number} - */ - function indexof (value, search) { - return value.indexOf(search) - } - - /** - * @param {string} value - * @param {number} index - * @return {number} - */ - function charat (value, index) { - return value.charCodeAt(index) | 0 - } - - /** - * @param {string} value - * @param {number} begin - * @param {number} end - * @return {string} - */ - function substr (value, begin, end) { - return value.slice(begin, end) - } - - /** - * @param {string} value - * @return {number} - */ - function strlen (value) { - return value.length - } - - /** - * @param {any[]} value - * @return {number} - */ - function sizeof (value) { - return value.length - } - - /** - * @param {any} value - * @param {any[]} array - * @return {any} - */ - function append (value, array) { - return array.push(value), value - } - - /** - * @param {string[]} array - * @param {function} callback - * @return {string} - */ - function combine (array, callback) { - return array.map(callback).join('') - } - - var line = 1; - var column = 1; - var length = 0; - var position = 0; - var character = 0; - var characters = ''; - - /** - * @param {string} value - * @param {object | null} root - * @param {object | null} parent - * @param {string} type - * @param {string[] | string} props - * @param {object[] | string} children - * @param {number} length - */ - function node (value, root, parent, type, props, children, length) { - return {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''} - } - - /** - * @param {object} root - * @param {object} props - * @return {object} - */ - function copy (root, props) { - return assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props) - } - - /** - * @return {number} - */ - function char () { - return character - } - - /** - * @return {number} - */ - function prev () { - character = position > 0 ? charat(characters, --position) : 0; - - if (column--, character === 10) - column = 1, line--; - - return character - } - - /** - * @return {number} - */ - function next () { - character = position < length ? charat(characters, position++) : 0; - - if (column++, character === 10) - column = 1, line++; - - return character - } - - /** - * @return {number} - */ - function peek () { - return charat(characters, position) - } - - /** - * @return {number} - */ - function caret () { - return position - } - - /** - * @param {number} begin - * @param {number} end - * @return {string} - */ - function slice (begin, end) { - return substr(characters, begin, end) - } - - /** - * @param {number} type - * @return {number} - */ - function token (type) { - switch (type) { - // \0 \t \n \r \s whitespace token - case 0: case 9: case 10: case 13: case 32: - return 5 - // ! + , / > @ ~ isolate token - case 33: case 43: case 44: case 47: case 62: case 64: case 126: - // ; { } breakpoint token - case 59: case 123: case 125: - return 4 - // : accompanied token - case 58: - return 3 - // " ' ( [ opening delimit token - case 34: case 39: case 40: case 91: - return 2 - // ) ] closing delimit token - case 41: case 93: - return 1 - } - - return 0 - } - - /** - * @param {string} value - * @return {any[]} - */ - function alloc (value) { - return line = column = 1, length = strlen(characters = value), position = 0, [] - } - - /** - * @param {any} value - * @return {any} - */ - function dealloc (value) { - return characters = '', value - } - - /** - * @param {number} type - * @return {string} - */ - function delimit (type) { - return trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type))) - } - - /** - * @param {number} type - * @return {string} - */ - function whitespace (type) { - while (character = peek()) - if (character < 33) - next(); - else - break - - return token(type) > 2 || token(character) > 3 ? '' : ' ' - } - - /** - * @param {number} index - * @param {number} count - * @return {string} - */ - function escaping (index, count) { - while (--count && next()) - // not 0-9 A-F a-f - if (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97)) - break - - return slice(index, caret() + (count < 6 && peek() == 32 && next() == 32)) - } - - /** - * @param {number} type - * @return {number} - */ - function delimiter (type) { - while (next()) - switch (character) { - // ] ) " ' - case type: - return position - // " ' - case 34: case 39: - if (type !== 34 && type !== 39) - delimiter(character); - break - // ( - case 40: - if (type === 41) - delimiter(type); - break - // \ - case 92: - next(); - break - } - - return position - } - - /** - * @param {number} type - * @param {number} index - * @return {number} - */ - function commenter (type, index) { - while (next()) - // // - if (type + character === 47 + 10) - break - // /* - else if (type + character === 42 + 42 && peek() === 47) - break - - return '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next()) - } - - /** - * @param {number} index - * @return {string} - */ - function identifier (index) { - while (!token(peek())) - next(); - - return slice(index, position) - } - - /** - * @param {string} value - * @return {object[]} - */ - function compile (value) { - return dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value)) - } - - /** - * @param {string} value - * @param {object} root - * @param {object?} parent - * @param {string[]} rule - * @param {string[]} rules - * @param {string[]} rulesets - * @param {number[]} pseudo - * @param {number[]} points - * @param {string[]} declarations - * @return {object} - */ - function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) { - var index = 0; - var offset = 0; - var length = pseudo; - var atrule = 0; - var property = 0; - var previous = 0; - var variable = 1; - var scanning = 1; - var ampersand = 1; - var character = 0; - var type = ''; - var props = rules; - var children = rulesets; - var reference = rule; - var characters = type; - - while (scanning) - switch (previous = character, character = next()) { - // ( - case 40: - if (previous != 108 && charat(characters, length - 1) == 58) { - if (indexof(characters += replace(delimit(character), '&', '&\f'), '&\f') != -1) - ampersand = -1; - break - } - // " ' [ - case 34: case 39: case 91: - characters += delimit(character); - break - // \t \n \r \s - case 9: case 10: case 13: case 32: - characters += whitespace(previous); - break - // \ - case 92: - characters += escaping(caret() - 1, 7); - continue - // / - case 47: - switch (peek()) { - case 42: case 47: - append(comment(commenter(next(), caret()), root, parent), declarations); - break - default: - characters += '/'; - } - break - // { - case 123 * variable: - points[index++] = strlen(characters) * ampersand; - // } ; \0 - case 125 * variable: case 59: case 0: - switch (character) { - // \0 } - case 0: case 125: scanning = 0; - // ; - case 59 + offset: - if (property > 0 && (strlen(characters) - length)) - append(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations); - break - // @ ; - case 59: characters += ';'; - // { rule/at-rule - default: - append(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets); - - if (character === 123) - if (offset === 0) - parse(characters, root, reference, reference, props, rulesets, length, points, children); - else - switch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) { - // d m s - case 100: case 109: case 115: - parse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children); - break - default: - parse(characters, reference, reference, reference, [''], children, 0, points, children); - } - } - - index = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo; - break - // : - case 58: - length = 1 + strlen(characters), property = previous; - default: - if (variable < 1) - if (character == 123) - --variable; - else if (character == 125 && variable++ == 0 && prev() == 125) - continue - - switch (characters += from(character), character * variable) { - // & - case 38: - ampersand = offset > 0 ? 1 : (characters += '\f', -1); - break - // , - case 44: - points[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1; - break - // @ - case 64: - // - - if (peek() === 45) - characters += delimit(next()); - - atrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++; - break - // - - case 45: - if (previous === 45 && strlen(characters) == 2) - variable = 0; - } - } - - return rulesets - } - - /** - * @param {string} value - * @param {object} root - * @param {object?} parent - * @param {number} index - * @param {number} offset - * @param {string[]} rules - * @param {number[]} points - * @param {string} type - * @param {string[]} props - * @param {string[]} children - * @param {number} length - * @return {object} - */ - function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) { - var post = offset - 1; - var rule = offset === 0 ? rules : ['']; - var size = sizeof(rule); - - for (var i = 0, j = 0, k = 0; i < index; ++i) - for (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x) - if (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\f/g, rule[x]))) - props[k++] = z; - - return node(value, root, parent, offset === 0 ? RULESET : type, props, children, length) - } - - /** - * @param {number} value - * @param {object} root - * @param {object?} parent - * @return {object} - */ - function comment (value, root, parent) { - return node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0) - } - - /** - * @param {string} value - * @param {object} root - * @param {object?} parent - * @param {number} length - * @return {object} - */ - function declaration (value, root, parent, length) { - return node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length) - } - - /** - * @param {object[]} children - * @param {function} callback - * @return {string} - */ - function serialize (children, callback) { - var output = ''; - var length = sizeof(children); - - for (var i = 0; i < length; i++) - output += callback(children[i], i, children, callback) || ''; - - return output - } - - /** - * @param {object} element - * @param {number} index - * @param {object[]} children - * @param {function} callback - * @return {string} - */ - function stringify (element, index, children, callback) { - switch (element.type) { - case IMPORT: case DECLARATION: return element.return = element.return || element.value - case COMMENT: return '' - case KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}' - case RULESET: element.value = element.props.join(','); - } - - return strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : '' - } - - /** - * @param {function[]} collection - * @return {function} - */ - function middleware (collection) { - var length = sizeof(collection); - - return function (element, index, children, callback) { - var output = ''; - - for (var i = 0; i < length; i++) - output += collection[i](element, index, children, callback) || ''; - - return output - } - } - - var identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) { - var previous = 0; - var character = 0; - - while (true) { - previous = character; - character = peek(); // &\f - - if (previous === 38 && character === 12) { - points[index] = 1; - } - - if (token(character)) { - break; - } - - next(); - } - - return slice(begin, position); - }; - - var toRules = function toRules(parsed, points) { - // pretend we've started with a comma - var index = -1; - var character = 44; - - do { - switch (token(character)) { - case 0: - // &\f - if (character === 38 && peek() === 12) { - // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings - // stylis inserts \f after & to know when & where it should replace this sequence with the context selector - // and when it should just concatenate the outer and inner selectors - // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here - points[index] = 1; - } - - parsed[index] += identifierWithPointTracking(position - 1, points, index); - break; - - case 2: - parsed[index] += delimit(character); - break; - - case 4: - // comma - if (character === 44) { - // colon - parsed[++index] = peek() === 58 ? '&\f' : ''; - points[index] = parsed[index].length; - break; - } - - // fallthrough - - default: - parsed[index] += from(character); - } - } while (character = next()); - - return parsed; - }; - - var getRules = function getRules(value, points) { - return dealloc(toRules(alloc(value), points)); - }; // WeakSet would be more appropriate, but only WeakMap is supported in IE11 - - - var fixedElements = /* #__PURE__ */new WeakMap(); - var compat = function compat(element) { - if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo - // negative .length indicates that this rule has been already prefixed - element.length < 1) { - return; - } - - var value = element.value, - parent = element.parent; - var isImplicitRule = element.column === parent.column && element.line === parent.line; - - while (parent.type !== 'rule') { - parent = parent.parent; - if (!parent) return; - } // short-circuit for the simplest case - - - if (element.props.length === 1 && value.charCodeAt(0) !== 58 - /* colon */ - && !fixedElements.get(parent)) { - return; - } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level) - // then the props has already been manipulated beforehand as they that array is shared between it and its "rule parent" - - - if (isImplicitRule) { - return; - } - - fixedElements.set(element, true); - var points = []; - var rules = getRules(value, points); - var parentRules = parent.props; - - for (var i = 0, k = 0; i < rules.length; i++) { - for (var j = 0; j < parentRules.length; j++, k++) { - element.props[k] = points[i] ? rules[i].replace(/&\f/g, parentRules[j]) : parentRules[j] + " " + rules[i]; - } - } - }; - var removeLabel = function removeLabel(element) { - if (element.type === 'decl') { - var value = element.value; - - if ( // charcode for l - value.charCodeAt(0) === 108 && // charcode for b - value.charCodeAt(2) === 98) { - // this ignores label - element["return"] = ''; - element.value = ''; - } - } - }; - var ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason'; - - var isIgnoringComment = function isIgnoringComment(element) { - return element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1; - }; - - var createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) { - return function (element, index, children) { - if (element.type !== 'rule' || cache.compat) return; - var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g); - - if (unsafePseudoClasses) { - var isNested = element.parent === children[0]; // in nested rules comments become children of the "auto-inserted" rule - // - // considering this input: - // .a { - // .b /* comm */ {} - // color: hotpink; - // } - // we get output corresponding to this: - // .a { - // & { - // /* comm */ - // color: hotpink; - // } - // .b {} - // } - - var commentContainer = isNested ? children[0].children : // global rule at the root level - children; - - for (var i = commentContainer.length - 1; i >= 0; i--) { - var node = commentContainer[i]; - - if (node.line < element.line) { - break; - } // it is quite weird but comments are *usually* put at `column: element.column - 1` - // so we seek *from the end* for the node that is earlier than the rule's `element` and check that - // this will also match inputs like this: - // .a { - // /* comm */ - // .b {} - // } - // - // but that is fine - // - // it would be the easiest to change the placement of the comment to be the first child of the rule: - // .a { - // .b { /* comm */ } - // } - // with such inputs we wouldn't have to search for the comment at all - // TODO: consider changing this comment placement in the next major version - - - if (node.column < element.column) { - if (isIgnoringComment(node)) { - return; - } - - break; - } - } - - unsafePseudoClasses.forEach(function (unsafePseudoClass) { - console.error("The pseudo class \"" + unsafePseudoClass + "\" is potentially unsafe when doing server-side rendering. Try changing it to \"" + unsafePseudoClass.split('-child')[0] + "-of-type\"."); - }); - } - }; - }; - - var isImportRule = function isImportRule(element) { - return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64; - }; - - var isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) { - for (var i = index - 1; i >= 0; i--) { - if (!isImportRule(children[i])) { - return true; - } - } - - return false; - }; // use this to remove incorrect elements from further processing - // so they don't get handed to the `sheet` (or anything else) - // as that could potentially lead to additional logs which in turn could be overhelming to the user - - - var nullifyElement = function nullifyElement(element) { - element.type = ''; - element.value = ''; - element["return"] = ''; - element.children = ''; - element.props = ''; - }; - - var incorrectImportAlarm = function incorrectImportAlarm(element, index, children) { - if (!isImportRule(element)) { - return; - } - - if (element.parent) { - console.error("`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles."); - nullifyElement(element); - } else if (isPrependedWithRegularRules(index, children)) { - console.error("`@import` rules can't be after other rules. Please put your `@import` rules before your other rules."); - nullifyElement(element); - } - }; - - /* eslint-disable no-fallthrough */ - - function prefix(value, length) { - switch (hash(value, length)) { - // color-adjust - case 5103: - return WEBKIT + 'print-' + value + value; - // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function) - - case 5737: - case 4201: - case 3177: - case 3433: - case 1641: - case 4457: - case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break - - case 5572: - case 6356: - case 5844: - case 3191: - case 6645: - case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite, - - case 6391: - case 5879: - case 5623: - case 6135: - case 4599: - case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width) - - case 4215: - case 6389: - case 5109: - case 5365: - case 5621: - case 3829: - return WEBKIT + value + value; - // appearance, user-select, transform, hyphens, text-size-adjust - - case 5349: - case 4246: - case 4810: - case 6968: - case 2756: - return WEBKIT + value + MOZ + value + MS + value + value; - // flex, flex-direction - - case 6828: - case 4268: - return WEBKIT + value + MS + value + value; - // order - - case 6165: - return WEBKIT + value + MS + 'flex-' + value + value; - // align-items - - case 5187: - return WEBKIT + value + replace(value, /(\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value; - // align-self - - case 5443: - return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value; - // align-content - - case 4675: - return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value; - // flex-shrink - - case 5548: - return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value; - // flex-basis - - case 5292: - return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value; - // flex-grow - - case 6060: - return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value; - // transition - - case 4554: - return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value; - // cursor - - case 6187: - return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value; - // background, background-image - - case 5495: - case 3959: - return replace(value, /(image-set\([^]*)/, WEBKIT + '$1' + '$`$1'); - // justify-content - - case 4968: - return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value; - // (margin|padding)-inline-(start|end) - - case 4095: - case 3583: - case 4068: - case 2532: - return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value; - // (min|max)?(width|height|inline-size|block-size) - - case 8116: - case 7059: - case 5753: - case 5535: - case 5445: - case 5701: - case 4933: - case 4677: - case 5533: - case 5789: - case 5021: - case 4765: - // stretch, max-content, min-content, fill-available - if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) { - // (m)ax-content, (m)in-content - case 109: - // - - if (charat(value, length + 4) !== 45) break; - // (f)ill-available, (f)it-content - - case 102: - return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value; - // (s)tretch - - case 115: - return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value; - } - break; - // position: sticky - - case 4949: - // (s)ticky? - if (charat(value, length + 1) !== 115) break; - // display: (flex|inline-flex) - - case 6444: - switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) { - // stic(k)y - case 107: - return replace(value, ':', ':' + WEBKIT) + value; - // (inline-)?fl(e)x - - case 101: - return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value; - } - - break; - // writing-mode - - case 5936: - switch (charat(value, length + 11)) { - // vertical-l(r) - case 114: - return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, 'tb') + value; - // vertical-r(l) - - case 108: - return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, 'tb-rl') + value; - // horizontal(-)tb - - case 45: - return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, 'lr') + value; - } - - return WEBKIT + value + MS + value + value; - } - - return value; - } - - var prefixer = function prefixer(element, index, children, callback) { - if (element.length > -1) if (!element["return"]) switch (element.type) { - case DECLARATION: - element["return"] = prefix(element.value, element.length); - break; - - case KEYFRAMES: - return serialize([copy(element, { - value: replace(element.value, '@', '@' + WEBKIT) - })], callback); - - case RULESET: - if (element.length) return combine(element.props, function (value) { - switch (match(value, /(::plac\w+|:read-\w+)/)) { - // :read-(only|write) - case ':read-only': - case ':read-write': - return serialize([copy(element, { - props: [replace(value, /:(read-\w+)/, ':' + MOZ + '$1')] - })], callback); - // :placeholder - - case '::placeholder': - return serialize([copy(element, { - props: [replace(value, /:(plac\w+)/, ':' + WEBKIT + 'input-$1')] - }), copy(element, { - props: [replace(value, /:(plac\w+)/, ':' + MOZ + '$1')] - }), copy(element, { - props: [replace(value, /:(plac\w+)/, MS + 'input-$1')] - })], callback); - } - - return ''; - }); - } - }; - - var defaultStylisPlugins = [prefixer]; - - var createCache = function createCache(options) { - var key = options.key; - - if (!key) { - throw new Error("You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\n" + "If multiple caches share the same key they might \"fight\" for each other's style elements."); - } - - if ( key === 'css') { - var ssrStyles = document.querySelectorAll("style[data-emotion]:not([data-s])"); // get SSRed styles out of the way of React's hydration - // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be) - // note this very very intentionally targets all style elements regardless of the key to ensure - // that creating a cache works inside of render of a React component - - Array.prototype.forEach.call(ssrStyles, function (node) { - // we want to only move elements which have a space in the data-emotion attribute value - // because that indicates that it is an Emotion 11 server-side rendered style elements - // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector - // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes) - // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles - // will not result in the Emotion 10 styles being destroyed - var dataEmotionAttribute = node.getAttribute('data-emotion'); - - if (dataEmotionAttribute.indexOf(' ') === -1) { - return; - } - document.head.appendChild(node); - node.setAttribute('data-s', ''); - }); - } - - var stylisPlugins = options.stylisPlugins || defaultStylisPlugins; - - { - // $FlowFixMe - if (/[^a-z-]/.test(key)) { - throw new Error("Emotion key must only contain lower case alphabetical characters and - but \"" + key + "\" was passed"); - } - } - - var inserted = {}; - var container; - var nodesToHydrate = []; - - { - container = options.container || document.head; - Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which - // means that the style elements we're looking at are only Emotion 11 server-rendered style elements - document.querySelectorAll("style[data-emotion^=\"" + key + " \"]"), function (node) { - var attrib = node.getAttribute("data-emotion").split(' '); // $FlowFixMe - - for (var i = 1; i < attrib.length; i++) { - inserted[attrib[i]] = true; - } - - nodesToHydrate.push(node); - }); - } - - var _insert; - - var omnipresentPlugins = [compat, removeLabel]; - - { - omnipresentPlugins.push(createUnsafeSelectorsAlarm({ - get compat() { - return cache.compat; - } - - }), incorrectImportAlarm); - } - - { - var currentSheet; - var finalizingPlugins = [stringify, function (element) { - if (!element.root) { - if (element["return"]) { - currentSheet.insert(element["return"]); - } else if (element.value && element.type !== COMMENT) { - // insert empty rule in non-production environments - // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet - currentSheet.insert(element.value + "{}"); - } - } - } ]; - var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins)); - - var stylis = function stylis(styles) { - return serialize(compile(styles), serializer); - }; - - _insert = function insert(selector, serialized, sheet, shouldCache) { - currentSheet = sheet; - - if (serialized.map !== undefined) { - currentSheet = { - insert: function insert(rule) { - sheet.insert(rule + serialized.map); - } - }; - } - - stylis(selector ? selector + "{" + serialized.styles + "}" : serialized.styles); - - if (shouldCache) { - cache.inserted[serialized.name] = true; - } - }; - } - - var cache = { - key: key, - sheet: new StyleSheet({ - key: key, - container: container, - nonce: options.nonce, - speedy: options.speedy, - prepend: options.prepend, - insertionPoint: options.insertionPoint - }), - nonce: options.nonce, - inserted: inserted, - registered: {}, - insert: _insert - }; - cache.sheet.hydrate(nodesToHydrate); - return cache; - }; - - var isBrowser$1 = "object" !== 'undefined'; - function getRegisteredStyles(registered, registeredStyles, classNames) { - var rawClassName = ''; - classNames.split(' ').forEach(function (className) { - if (registered[className] !== undefined) { - registeredStyles.push(registered[className] + ";"); - } else { - rawClassName += className + " "; - } - }); - return rawClassName; - } - var registerStyles = function registerStyles(cache, serialized, isStringTag) { - var className = cache.key + "-" + serialized.name; - - if ( // we only need to add the styles to the registered cache if the - // class name could be used further down - // the tree but if it's a string tag, we know it won't - // so we don't have to add it to registered cache. - // this improves memory usage since we can avoid storing the whole style string - (isStringTag === false || // we need to always store it if we're in compat mode and - // in node since emotion-server relies on whether a style is in - // the registered cache to know whether a style is global or not - // also, note that this check will be dead code eliminated in the browser - isBrowser$1 === false ) && cache.registered[className] === undefined) { - cache.registered[className] = serialized.styles; - } - }; - var insertStyles = function insertStyles(cache, serialized, isStringTag) { - registerStyles(cache, serialized, isStringTag); - var className = cache.key + "-" + serialized.name; - - if (cache.inserted[serialized.name] === undefined) { - var current = serialized; - - do { - cache.insert(serialized === current ? "." + className : '', current, cache.sheet, true); - - current = current.next; - } while (current !== undefined); - } - }; - - /* eslint-disable */ - // Inspired by https://github.com/garycourt/murmurhash-js - // Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86 - function murmur2(str) { - // 'm' and 'r' are mixing constants generated offline. - // They're not really 'magic', they just happen to work well. - // const m = 0x5bd1e995; - // const r = 24; - // Initialize the hash - var h = 0; // Mix 4 bytes at a time into the hash - - var k, - i = 0, - len = str.length; - - for (; len >= 4; ++i, len -= 4) { - k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24; - k = - /* Math.imul(k, m): */ - (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16); - k ^= - /* k >>> r: */ - k >>> 24; - h = - /* Math.imul(k, m): */ - (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^ - /* Math.imul(h, m): */ - (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16); - } // Handle the last few bytes of the input array - - - switch (len) { - case 3: - h ^= (str.charCodeAt(i + 2) & 0xff) << 16; - - case 2: - h ^= (str.charCodeAt(i + 1) & 0xff) << 8; - - case 1: - h ^= str.charCodeAt(i) & 0xff; - h = - /* Math.imul(h, m): */ - (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16); - } // Do a few final mixes of the hash to ensure the last few - // bytes are well-incorporated. - - - h ^= h >>> 13; - h = - /* Math.imul(h, m): */ - (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16); - return ((h ^ h >>> 15) >>> 0).toString(36); - } - - var unitlessKeys = { - animationIterationCount: 1, - borderImageOutset: 1, - borderImageSlice: 1, - borderImageWidth: 1, - boxFlex: 1, - boxFlexGroup: 1, - boxOrdinalGroup: 1, - columnCount: 1, - columns: 1, - flex: 1, - flexGrow: 1, - flexPositive: 1, - flexShrink: 1, - flexNegative: 1, - flexOrder: 1, - gridRow: 1, - gridRowEnd: 1, - gridRowSpan: 1, - gridRowStart: 1, - gridColumn: 1, - gridColumnEnd: 1, - gridColumnSpan: 1, - gridColumnStart: 1, - msGridRow: 1, - msGridRowSpan: 1, - msGridColumn: 1, - msGridColumnSpan: 1, - fontWeight: 1, - lineHeight: 1, - opacity: 1, - order: 1, - orphans: 1, - tabSize: 1, - widows: 1, - zIndex: 1, - zoom: 1, - WebkitLineClamp: 1, - // SVG-related properties - fillOpacity: 1, - floodOpacity: 1, - stopOpacity: 1, - strokeDasharray: 1, - strokeDashoffset: 1, - strokeMiterlimit: 1, - strokeOpacity: 1, - strokeWidth: 1 - }; - - var ILLEGAL_ESCAPE_SEQUENCE_ERROR = "You have illegal escape sequence in your template literal, most likely inside content's property value.\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \"content: '\\00d7';\" should become \"content: '\\\\00d7';\".\nYou can read more about this here:\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences"; - var UNDEFINED_AS_OBJECT_KEY_ERROR = "You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key)."; - var hyphenateRegex = /[A-Z]|^ms/g; - var animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g; - - var isCustomProperty = function isCustomProperty(property) { - return property.charCodeAt(1) === 45; - }; - - var isProcessableValue = function isProcessableValue(value) { - return value != null && typeof value !== 'boolean'; - }; - - var processStyleName = /* #__PURE__ */memoize(function (styleName) { - return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase(); - }); - - var processStyleValue = function processStyleValue(key, value) { - switch (key) { - case 'animation': - case 'animationName': - { - if (typeof value === 'string') { - return value.replace(animationRegex, function (match, p1, p2) { - cursor = { - name: p1, - styles: p2, - next: cursor - }; - return p1; - }); - } - } - } - - if (unitlessKeys[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) { - return value + 'px'; - } - - return value; - }; - - { - var contentValuePattern = /(var|attr|counters?|url|element|(((repeating-)?(linear|radial))|conic)-gradient)\(|(no-)?(open|close)-quote/; - var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset']; - var oldProcessStyleValue = processStyleValue; - var msPattern = /^-ms-/; - var hyphenPattern = /-(.)/g; - var hyphenatedCache = {}; - - processStyleValue = function processStyleValue(key, value) { - if (key === 'content') { - if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '"' && value.charAt(0) !== "'")) { - throw new Error("You seem to be using a value for 'content' without quotes, try replacing it with `content: '\"" + value + "\"'`"); - } - } - - var processed = oldProcessStyleValue(key, value); - - if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) { - hyphenatedCache[key] = true; - console.error("Using kebab-case for css properties in objects is not supported. Did you mean " + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) { - return _char.toUpperCase(); - }) + "?"); - } - - return processed; - }; - } - - var noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.'; - - function handleInterpolation(mergedProps, registered, interpolation) { - if (interpolation == null) { - return ''; - } - - if (interpolation.__emotion_styles !== undefined) { - if (interpolation.toString() === 'NO_COMPONENT_SELECTOR') { - throw new Error(noComponentSelectorMessage); - } - - return interpolation; - } - - switch (typeof interpolation) { - case 'boolean': - { - return ''; - } - - case 'object': - { - if (interpolation.anim === 1) { - cursor = { - name: interpolation.name, - styles: interpolation.styles, - next: cursor - }; - return interpolation.name; - } - - if (interpolation.styles !== undefined) { - var next = interpolation.next; - - if (next !== undefined) { - // not the most efficient thing ever but this is a pretty rare case - // and there will be very few iterations of this generally - while (next !== undefined) { - cursor = { - name: next.name, - styles: next.styles, - next: cursor - }; - next = next.next; - } - } - - var styles = interpolation.styles + ";"; - - if (interpolation.map !== undefined) { - styles += interpolation.map; - } - - return styles; - } - - return createStringFromObject(mergedProps, registered, interpolation); - } - - case 'function': - { - if (mergedProps !== undefined) { - var previousCursor = cursor; - var result = interpolation(mergedProps); - cursor = previousCursor; - return handleInterpolation(mergedProps, registered, result); - } else { - console.error('Functions that are interpolated in css calls will be stringified.\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\n' + 'It can be called directly with props or interpolated in a styled call like this\n' + "let SomeComponent = styled('div')`${dynamicStyle}`"); - } - - break; - } - - case 'string': - { - var matched = []; - var replaced = interpolation.replace(animationRegex, function (match, p1, p2) { - var fakeVarName = "animation" + matched.length; - matched.push("const " + fakeVarName + " = keyframes`" + p2.replace(/^@keyframes animation-\w+/, '') + "`"); - return "${" + fakeVarName + "}"; - }); - - if (matched.length) { - console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\n\n' + 'Instead of doing this:\n\n' + [].concat(matched, ["`" + replaced + "`"]).join('\n') + '\n\nYou should wrap it with `css` like this:\n\n' + ("css`" + replaced + "`")); - } - } - - break; - } // finalize string values (regular strings and functions interpolated into css calls) - - - if (registered == null) { - return interpolation; - } - - var cached = registered[interpolation]; - return cached !== undefined ? cached : interpolation; - } - - function createStringFromObject(mergedProps, registered, obj) { - var string = ''; - - if (Array.isArray(obj)) { - for (var i = 0; i < obj.length; i++) { - string += handleInterpolation(mergedProps, registered, obj[i]) + ";"; - } - } else { - for (var _key in obj) { - var value = obj[_key]; - - if (typeof value !== 'object') { - if (registered != null && registered[value] !== undefined) { - string += _key + "{" + registered[value] + "}"; - } else if (isProcessableValue(value)) { - string += processStyleName(_key) + ":" + processStyleValue(_key, value) + ";"; - } - } else { - if (_key === 'NO_COMPONENT_SELECTOR' && "development" !== 'production') { - throw new Error(noComponentSelectorMessage); - } - - if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) { - for (var _i = 0; _i < value.length; _i++) { - if (isProcessableValue(value[_i])) { - string += processStyleName(_key) + ":" + processStyleValue(_key, value[_i]) + ";"; - } - } - } else { - var interpolated = handleInterpolation(mergedProps, registered, value); - - switch (_key) { - case 'animation': - case 'animationName': - { - string += processStyleName(_key) + ":" + interpolated + ";"; - break; - } - - default: - { - if (_key === 'undefined') { - console.error(UNDEFINED_AS_OBJECT_KEY_ERROR); - } - - string += _key + "{" + interpolated + "}"; - } - } - } - } - } - } - - return string; - } - - var labelPattern = /label:\s*([^\s;\n{]+)\s*(;|$)/g; - var sourceMapPattern; - - { - sourceMapPattern = /\/\*#\ssourceMappingURL=data:application\/json;\S+\s+\*\//g; - } // this is the cursor for keyframes - // keyframes are stored on the SerializedStyles object as a linked list - - - var cursor; - var serializeStyles = function serializeStyles(args, registered, mergedProps) { - if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) { - return args[0]; - } - - var stringMode = true; - var styles = ''; - cursor = undefined; - var strings = args[0]; - - if (strings == null || strings.raw === undefined) { - stringMode = false; - styles += handleInterpolation(mergedProps, registered, strings); - } else { - if (strings[0] === undefined) { - console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR); - } - - styles += strings[0]; - } // we start at 1 since we've already handled the first arg - - - for (var i = 1; i < args.length; i++) { - styles += handleInterpolation(mergedProps, registered, args[i]); - - if (stringMode) { - if (strings[i] === undefined) { - console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR); - } - - styles += strings[i]; - } - } - - var sourceMap; - - { - styles = styles.replace(sourceMapPattern, function (match) { - sourceMap = match; - return ''; - }); - } // using a global regex with .exec is stateful so lastIndex has to be reset each time - - - labelPattern.lastIndex = 0; - var identifierName = ''; - var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5 - - while ((match = labelPattern.exec(styles)) !== null) { - identifierName += '-' + // $FlowFixMe we know it's not null - match[1]; - } - - var name = murmur2(styles) + identifierName; - - { - // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it) - return { - name: name, - styles: styles, - map: sourceMap, - next: cursor, - toString: function toString() { - return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; - } - }; - } - }; - - var syncFallback = function syncFallback(create) { - return create(); - }; - - var useInsertionEffect = React__namespace['useInsertion' + 'Effect'] ? React__namespace['useInsertion' + 'Effect'] : false; - var useInsertionEffectAlwaysWithSyncFallback = useInsertionEffect || syncFallback; - var useInsertionEffectWithLayoutFallback = useInsertionEffect || React$1.useLayoutEffect; - - var hasOwnProperty = {}.hasOwnProperty; - - var EmotionCacheContext = /* #__PURE__ */React$1.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case - // because this module is primarily intended for the browser and node - // but it's also required in react native and similar environments sometimes - // and we could have a special build just for that - // but this is much easier and the native packages - // might use a different theme context in the future anyway - typeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({ - key: 'css' - }) : null); - - { - EmotionCacheContext.displayName = 'EmotionCacheContext'; - } - - EmotionCacheContext.Provider; - - var withEmotionCache = function withEmotionCache(func) { - // $FlowFixMe - return /*#__PURE__*/React$1.forwardRef(function (props, ref) { - // the cache will never be null in the browser - var cache = React$1.useContext(EmotionCacheContext); - return func(props, cache, ref); - }); - }; - - var ThemeContext = /* #__PURE__ */React$1.createContext({}); - - { - ThemeContext.displayName = 'EmotionThemeContext'; - } - - var getLastPart = function getLastPart(functionName) { - // The match may be something like 'Object.createEmotionProps' or - // 'Loader.prototype.render' - var parts = functionName.split('.'); - return parts[parts.length - 1]; - }; - - var getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) { - // V8 - var match = /^\s+at\s+([A-Za-z0-9$.]+)\s/.exec(line); - if (match) return getLastPart(match[1]); // Safari / Firefox - - match = /^([A-Za-z0-9$.]+)@/.exec(line); - if (match) return getLastPart(match[1]); - return undefined; - }; - - var internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS - // identifiers, thus we only need to replace what is a valid character for JS, - // but not for CSS. - - var sanitizeIdentifier = function sanitizeIdentifier(identifier) { - return identifier.replace(/\$/g, '-'); - }; - - var getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) { - if (!stackTrace) return undefined; - var lines = stackTrace.split('\n'); - - for (var i = 0; i < lines.length; i++) { - var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just "Error" - - if (!functionName) continue; // If we reach one of these, we have gone too far and should quit - - if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an - // uppercase letter - - if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName); - } - - return undefined; - }; - - var typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__'; - var labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__'; - var createEmotionProps = function createEmotionProps(type, props) { - if (typeof props.css === 'string' && // check if there is a css declaration - props.css.indexOf(':') !== -1) { - throw new Error("Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`" + props.css + "`"); - } - - var newProps = {}; - - for (var key in props) { - if (hasOwnProperty.call(props, key)) { - newProps[key] = props[key]; - } - } - - newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when - // the label hasn't already been computed - - if (!!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) { - var label = getLabelFromStackTrace(new Error().stack); - if (label) newProps[labelPropName] = label; - } - - return newProps; - }; - - var Insertion$1 = function Insertion(_ref) { - var cache = _ref.cache, - serialized = _ref.serialized, - isStringTag = _ref.isStringTag; - registerStyles(cache, serialized, isStringTag); - useInsertionEffectAlwaysWithSyncFallback(function () { - return insertStyles(cache, serialized, isStringTag); - }); - - return null; - }; - - var Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) { - var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works - // not passing the registered cache to serializeStyles because it would - // make certain babel optimisations not possible - - if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) { - cssProp = cache.registered[cssProp]; - } - - var WrappedComponent = props[typePropName]; - var registeredStyles = [cssProp]; - var className = ''; - - if (typeof props.className === 'string') { - className = getRegisteredStyles(cache.registered, registeredStyles, props.className); - } else if (props.className != null) { - className = props.className + " "; - } - - var serialized = serializeStyles(registeredStyles, undefined, React$1.useContext(ThemeContext)); - - if (serialized.name.indexOf('-') === -1) { - var labelFromStack = props[labelPropName]; - - if (labelFromStack) { - serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']); - } - } - - className += cache.key + "-" + serialized.name; - var newProps = {}; - - for (var key in props) { - if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (key !== labelPropName)) { - newProps[key] = props[key]; - } - } - - newProps.ref = ref; - newProps.className = className; - return /*#__PURE__*/React$1.createElement(React$1.Fragment, null, /*#__PURE__*/React$1.createElement(Insertion$1, { - cache: cache, - serialized: serialized, - isStringTag: typeof WrappedComponent === 'string' - }), /*#__PURE__*/React$1.createElement(WrappedComponent, newProps)); - }); - - { - Emotion.displayName = 'EmotionCssPropInternal'; - } - - var pkg = { - name: "@emotion/react", - version: "11.10.6", - main: "dist/emotion-react.cjs.js", - module: "dist/emotion-react.esm.js", - browser: { - "./dist/emotion-react.esm.js": "./dist/emotion-react.browser.esm.js" - }, - exports: { - ".": { - module: { - worker: "./dist/emotion-react.worker.esm.js", - browser: "./dist/emotion-react.browser.esm.js", - "default": "./dist/emotion-react.esm.js" - }, - "default": "./dist/emotion-react.cjs.js" - }, - "./jsx-runtime": { - module: { - worker: "./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js", - browser: "./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js", - "default": "./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js" - }, - "default": "./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js" - }, - "./_isolated-hnrs": { - module: { - worker: "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js", - browser: "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js", - "default": "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js" - }, - "default": "./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js" - }, - "./jsx-dev-runtime": { - module: { - worker: "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js", - browser: "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js", - "default": "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js" - }, - "default": "./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js" - }, - "./package.json": "./package.json", - "./types/css-prop": "./types/css-prop.d.ts", - "./macro": "./macro.js" - }, - types: "types/index.d.ts", - files: [ - "src", - "dist", - "jsx-runtime", - "jsx-dev-runtime", - "_isolated-hnrs", - "types/*.d.ts", - "macro.js", - "macro.d.ts", - "macro.js.flow" - ], - sideEffects: false, - author: "Emotion Contributors", - license: "MIT", - scripts: { - "test:typescript": "dtslint types" - }, - dependencies: { - "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.10.6", - "@emotion/cache": "^11.10.5", - "@emotion/serialize": "^1.1.1", - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@emotion/utils": "^1.2.0", - "@emotion/weak-memoize": "^0.3.0", - "hoist-non-react-statics": "^3.3.1" - }, - peerDependencies: { - react: ">=16.8.0" - }, - peerDependenciesMeta: { - "@types/react": { - optional: true - } - }, - devDependencies: { - "@definitelytyped/dtslint": "0.0.112", - "@emotion/css": "11.10.6", - "@emotion/css-prettifier": "1.1.1", - "@emotion/server": "11.10.0", - "@emotion/styled": "11.10.6", - "html-tag-names": "^1.1.2", - react: "16.14.0", - "svg-tag-names": "^1.1.1", - typescript: "^4.5.5" - }, - repository: "https://github.com/emotion-js/emotion/tree/main/packages/react", - publishConfig: { - access: "public" - }, - "umd:main": "dist/emotion-react.umd.min.js", - preconstruct: { - entrypoints: [ - "./index.js", - "./jsx-runtime.js", - "./jsx-dev-runtime.js", - "./_isolated-hnrs.js" - ], - umdName: "emotionReact", - exports: { - envConditions: [ - "browser", - "worker" - ], - extra: { - "./types/css-prop": "./types/css-prop.d.ts", - "./macro": "./macro.js" - } - } - } - }; - - var jsx = function jsx(type, props) { - var args = arguments; - - if (props == null || !hasOwnProperty.call(props, 'css')) { - // $FlowFixMe - return React$1.createElement.apply(undefined, args); - } - - var argsLength = args.length; - var createElementArgArray = new Array(argsLength); - createElementArgArray[0] = Emotion; - createElementArgArray[1] = createEmotionProps(type, props); - - for (var i = 2; i < argsLength; i++) { - createElementArgArray[i] = args[i]; - } // $FlowFixMe - - - return React$1.createElement.apply(null, createElementArgArray); - }; - - var warnedAboutCssPropForGlobal = false; // maintain place over rerenders. - // initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild - // initial client-side render from SSR, use place of hydrating tag - - var Global = /* #__PURE__ */withEmotionCache(function (props, cache) { - if (!warnedAboutCssPropForGlobal && ( // check for className as well since the user is - // probably using the custom createElement which - // means it will be turned into a className prop - // $FlowFixMe I don't really want to add it to the type since it shouldn't be used - props.className || props.css)) { - console.error("It looks like you're using the css prop on Global, did you mean to use the styles prop instead?"); - warnedAboutCssPropForGlobal = true; - } - - var styles = props.styles; - var serialized = serializeStyles([styles], undefined, React$1.useContext(ThemeContext)); - // but it is based on a constant that will never change at runtime - // it's effectively like having two implementations and switching them out - // so it's not actually breaking anything - - - var sheetRef = React$1.useRef(); - useInsertionEffectWithLayoutFallback(function () { - var key = cache.key + "-global"; // use case of https://github.com/emotion-js/emotion/issues/2675 - - var sheet = new cache.sheet.constructor({ - key: key, - nonce: cache.sheet.nonce, - container: cache.sheet.container, - speedy: cache.sheet.isSpeedy - }); - var rehydrating = false; // $FlowFixMe - - var node = document.querySelector("style[data-emotion=\"" + key + " " + serialized.name + "\"]"); - - if (cache.sheet.tags.length) { - sheet.before = cache.sheet.tags[0]; - } - - if (node !== null) { - rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s - - node.setAttribute('data-emotion', key); - sheet.hydrate([node]); - } - - sheetRef.current = [sheet, rehydrating]; - return function () { - sheet.flush(); - }; - }, [cache]); - useInsertionEffectWithLayoutFallback(function () { - var sheetRefCurrent = sheetRef.current; - var sheet = sheetRefCurrent[0], - rehydrating = sheetRefCurrent[1]; - - if (rehydrating) { - sheetRefCurrent[1] = false; - return; - } - - if (serialized.next !== undefined) { - // insert keyframes - insertStyles(cache, serialized.next, true); - } - - if (sheet.tags.length) { - // if this doesn't exist then it will be null so the style element will be appended - var element = sheet.tags[sheet.tags.length - 1].nextElementSibling; - sheet.before = element; - sheet.flush(); - } - - cache.insert("", serialized, sheet, false); - }, [cache, serialized.name]); - return null; - }); - - { - Global.displayName = 'EmotionGlobal'; - } - - function css$2() { - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - return serializeStyles(args); - } - - var keyframes = function keyframes() { - var insertable = css$2.apply(void 0, arguments); - var name = "animation-" + insertable.name; // $FlowFixMe - - return { - name: name, - styles: "@keyframes " + name + "{" + insertable.styles + "}", - anim: 1, - toString: function toString() { - return "_EMO_" + this.name + "_" + this.styles + "_EMO_"; - } - }; - }; - - var classnames = function classnames(args) { - var len = args.length; - var i = 0; - var cls = ''; - - for (; i < len; i++) { - var arg = args[i]; - if (arg == null) continue; - var toAdd = void 0; - - switch (typeof arg) { - case 'boolean': - break; - - case 'object': - { - if (Array.isArray(arg)) { - toAdd = classnames(arg); - } else { - if (arg.styles !== undefined && arg.name !== undefined) { - console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from component.'); - } - - toAdd = ''; - - for (var k in arg) { - if (arg[k] && k) { - toAdd && (toAdd += ' '); - toAdd += k; - } - } - } - - break; - } - - default: - { - toAdd = arg; - } - } - - if (toAdd) { - cls && (cls += ' '); - cls += toAdd; - } - } - - return cls; - }; - - function merge(registered, css, className) { - var registeredStyles = []; - var rawClassName = getRegisteredStyles(registered, registeredStyles, className); - - if (registeredStyles.length < 2) { - return className; - } - - return rawClassName + css(registeredStyles); - } - - var Insertion = function Insertion(_ref) { - var cache = _ref.cache, - serializedArr = _ref.serializedArr; - useInsertionEffectAlwaysWithSyncFallback(function () { - - for (var i = 0; i < serializedArr.length; i++) { - insertStyles(cache, serializedArr[i], false); - } - }); - - return null; - }; - - var ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) { - var hasRendered = false; - var serializedArr = []; - - var css = function css() { - if (hasRendered && "development" !== 'production') { - throw new Error('css can only be used during render'); - } - - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - var serialized = serializeStyles(args, cache.registered); - serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx` - - registerStyles(cache, serialized, false); - return cache.key + "-" + serialized.name; - }; - - var cx = function cx() { - if (hasRendered && "development" !== 'production') { - throw new Error('cx can only be used during render'); - } - - for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { - args[_key2] = arguments[_key2]; - } - - return merge(cache.registered, css, classnames(args)); - }; - - var content = { - css: css, - cx: cx, - theme: React$1.useContext(ThemeContext) - }; - var ele = props.children(content); - hasRendered = true; - return /*#__PURE__*/React$1.createElement(React$1.Fragment, null, /*#__PURE__*/React$1.createElement(Insertion, { - cache: cache, - serializedArr: serializedArr - }), ele); - }); - - { - ClassNames.displayName = 'EmotionClassNames'; - } - - { - var isBrowser = "object" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked - - var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined'; - - if (isBrowser && !isTestEnv) { - // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later - var globalContext = // $FlowIgnore - typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef - : isBrowser ? window : global; - var globalKey = "__EMOTION_REACT_" + pkg.version.split('.')[0] + "__"; - - if (globalContext[globalKey]) { - console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.'); - } - - globalContext[globalKey] = true; - } - } - - function _taggedTemplateLiteral(strings, raw) { - if (!raw) { - raw = strings.slice(0); - } - return Object.freeze(Object.defineProperties(strings, { - raw: { - value: Object.freeze(raw) - } - })); - } - - var reactDom = {exports: {}}; - - var reactDom_development = {}; - - var scheduler = {exports: {}}; - - var scheduler_development = {}; - - /** - * @license React - * scheduler.development.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - - (function (exports) { - - { - (function() { - - /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */ - if ( - typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && - typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart === - 'function' - ) { - __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error()); - } - var enableSchedulerDebugging = false; - var enableProfiling = false; - var frameYieldMs = 5; - - function push(heap, node) { - var index = heap.length; - heap.push(node); - siftUp(heap, node, index); - } - function peek(heap) { - return heap.length === 0 ? null : heap[0]; - } - function pop(heap) { - if (heap.length === 0) { - return null; - } - - var first = heap[0]; - var last = heap.pop(); - - if (last !== first) { - heap[0] = last; - siftDown(heap, last, 0); - } - - return first; - } - - function siftUp(heap, node, i) { - var index = i; - - while (index > 0) { - var parentIndex = index - 1 >>> 1; - var parent = heap[parentIndex]; - - if (compare(parent, node) > 0) { - // The parent is larger. Swap positions. - heap[parentIndex] = node; - heap[index] = parent; - index = parentIndex; - } else { - // The parent is smaller. Exit. - return; - } - } - } - - function siftDown(heap, node, i) { - var index = i; - var length = heap.length; - var halfLength = length >>> 1; - - while (index < halfLength) { - var leftIndex = (index + 1) * 2 - 1; - var left = heap[leftIndex]; - var rightIndex = leftIndex + 1; - var right = heap[rightIndex]; // If the left or right node is smaller, swap with the smaller of those. - - if (compare(left, node) < 0) { - if (rightIndex < length && compare(right, left) < 0) { - heap[index] = right; - heap[rightIndex] = node; - index = rightIndex; - } else { - heap[index] = left; - heap[leftIndex] = node; - index = leftIndex; - } - } else if (rightIndex < length && compare(right, node) < 0) { - heap[index] = right; - heap[rightIndex] = node; - index = rightIndex; - } else { - // Neither child is smaller. Exit. - return; - } - } - } - - function compare(a, b) { - // Compare sort index first, then task id. - var diff = a.sortIndex - b.sortIndex; - return diff !== 0 ? diff : a.id - b.id; - } - - // TODO: Use symbols? - var ImmediatePriority = 1; - var UserBlockingPriority = 2; - var NormalPriority = 3; - var LowPriority = 4; - var IdlePriority = 5; - - function markTaskErrored(task, ms) { - } - - /* eslint-disable no-var */ - - var hasPerformanceNow = typeof performance === 'object' && typeof performance.now === 'function'; - - if (hasPerformanceNow) { - var localPerformance = performance; - - exports.unstable_now = function () { - return localPerformance.now(); - }; - } else { - var localDate = Date; - var initialTime = localDate.now(); - - exports.unstable_now = function () { - return localDate.now() - initialTime; - }; - } // Max 31 bit integer. The max integer size in V8 for 32-bit systems. - // Math.pow(2, 30) - 1 - // 0b111111111111111111111111111111 - - - var maxSigned31BitInt = 1073741823; // Times out immediately - - var IMMEDIATE_PRIORITY_TIMEOUT = -1; // Eventually times out - - var USER_BLOCKING_PRIORITY_TIMEOUT = 250; - var NORMAL_PRIORITY_TIMEOUT = 5000; - var LOW_PRIORITY_TIMEOUT = 10000; // Never times out - - var IDLE_PRIORITY_TIMEOUT = maxSigned31BitInt; // Tasks are stored on a min heap - - var taskQueue = []; - var timerQueue = []; // Incrementing id counter. Used to maintain insertion order. - - var taskIdCounter = 1; // Pausing the scheduler is useful for debugging. - var currentTask = null; - var currentPriorityLevel = NormalPriority; // This is set while performing work, to prevent re-entrance. - - var isPerformingWork = false; - var isHostCallbackScheduled = false; - var isHostTimeoutScheduled = false; // Capture local references to native APIs, in case a polyfill overrides them. - - var localSetTimeout = typeof setTimeout === 'function' ? setTimeout : null; - var localClearTimeout = typeof clearTimeout === 'function' ? clearTimeout : null; - var localSetImmediate = typeof setImmediate !== 'undefined' ? setImmediate : null; // IE and Node.js + jsdom - - typeof navigator !== 'undefined' && navigator.scheduling !== undefined && navigator.scheduling.isInputPending !== undefined ? navigator.scheduling.isInputPending.bind(navigator.scheduling) : null; - - function advanceTimers(currentTime) { - // Check for tasks that are no longer delayed and add them to the queue. - var timer = peek(timerQueue); - - while (timer !== null) { - if (timer.callback === null) { - // Timer was cancelled. - pop(timerQueue); - } else if (timer.startTime <= currentTime) { - // Timer fired. Transfer to the task queue. - pop(timerQueue); - timer.sortIndex = timer.expirationTime; - push(taskQueue, timer); - } else { - // Remaining timers are pending. - return; - } - - timer = peek(timerQueue); - } - } - - function handleTimeout(currentTime) { - isHostTimeoutScheduled = false; - advanceTimers(currentTime); - - if (!isHostCallbackScheduled) { - if (peek(taskQueue) !== null) { - isHostCallbackScheduled = true; - requestHostCallback(flushWork); - } else { - var firstTimer = peek(timerQueue); - - if (firstTimer !== null) { - requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime); - } - } - } - } - - function flushWork(hasTimeRemaining, initialTime) { - - - isHostCallbackScheduled = false; - - if (isHostTimeoutScheduled) { - // We scheduled a timeout but it's no longer needed. Cancel it. - isHostTimeoutScheduled = false; - cancelHostTimeout(); - } - - isPerformingWork = true; - var previousPriorityLevel = currentPriorityLevel; - - try { - var currentTime; if (enableProfiling) ; else { - // No catch in prod code path. - return workLoop(hasTimeRemaining, initialTime); - } - } finally { - currentTask = null; - currentPriorityLevel = previousPriorityLevel; - isPerformingWork = false; - } - } - - function workLoop(hasTimeRemaining, initialTime) { - var currentTime = initialTime; - advanceTimers(currentTime); - currentTask = peek(taskQueue); - - while (currentTask !== null && !(enableSchedulerDebugging )) { - if (currentTask.expirationTime > currentTime && (!hasTimeRemaining || shouldYieldToHost())) { - // This currentTask hasn't expired, and we've reached the deadline. - break; - } - - var callback = currentTask.callback; - - if (typeof callback === 'function') { - currentTask.callback = null; - currentPriorityLevel = currentTask.priorityLevel; - var didUserCallbackTimeout = currentTask.expirationTime <= currentTime; - - var continuationCallback = callback(didUserCallbackTimeout); - currentTime = exports.unstable_now(); - - if (typeof continuationCallback === 'function') { - currentTask.callback = continuationCallback; - } else { - - if (currentTask === peek(taskQueue)) { - pop(taskQueue); - } - } - - advanceTimers(currentTime); - } else { - pop(taskQueue); - } - - currentTask = peek(taskQueue); - } // Return whether there's additional work - - - if (currentTask !== null) { - return true; - } else { - var firstTimer = peek(timerQueue); - - if (firstTimer !== null) { - requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime); - } - - return false; - } - } - - function unstable_runWithPriority(priorityLevel, eventHandler) { - switch (priorityLevel) { - case ImmediatePriority: - case UserBlockingPriority: - case NormalPriority: - case LowPriority: - case IdlePriority: - break; - - default: - priorityLevel = NormalPriority; - } - - var previousPriorityLevel = currentPriorityLevel; - currentPriorityLevel = priorityLevel; - - try { - return eventHandler(); - } finally { - currentPriorityLevel = previousPriorityLevel; - } - } - - function unstable_next(eventHandler) { - var priorityLevel; - - switch (currentPriorityLevel) { - case ImmediatePriority: - case UserBlockingPriority: - case NormalPriority: - // Shift down to normal priority - priorityLevel = NormalPriority; - break; - - default: - // Anything lower than normal priority should remain at the current level. - priorityLevel = currentPriorityLevel; - break; - } - - var previousPriorityLevel = currentPriorityLevel; - currentPriorityLevel = priorityLevel; - - try { - return eventHandler(); - } finally { - currentPriorityLevel = previousPriorityLevel; - } - } - - function unstable_wrapCallback(callback) { - var parentPriorityLevel = currentPriorityLevel; - return function () { - // This is a fork of runWithPriority, inlined for performance. - var previousPriorityLevel = currentPriorityLevel; - currentPriorityLevel = parentPriorityLevel; - - try { - return callback.apply(this, arguments); - } finally { - currentPriorityLevel = previousPriorityLevel; - } - }; - } - - function unstable_scheduleCallback(priorityLevel, callback, options) { - var currentTime = exports.unstable_now(); - var startTime; - - if (typeof options === 'object' && options !== null) { - var delay = options.delay; - - if (typeof delay === 'number' && delay > 0) { - startTime = currentTime + delay; - } else { - startTime = currentTime; - } - } else { - startTime = currentTime; - } - - var timeout; - - switch (priorityLevel) { - case ImmediatePriority: - timeout = IMMEDIATE_PRIORITY_TIMEOUT; - break; - - case UserBlockingPriority: - timeout = USER_BLOCKING_PRIORITY_TIMEOUT; - break; - - case IdlePriority: - timeout = IDLE_PRIORITY_TIMEOUT; - break; - - case LowPriority: - timeout = LOW_PRIORITY_TIMEOUT; - break; - - case NormalPriority: - default: - timeout = NORMAL_PRIORITY_TIMEOUT; - break; - } - - var expirationTime = startTime + timeout; - var newTask = { - id: taskIdCounter++, - callback: callback, - priorityLevel: priorityLevel, - startTime: startTime, - expirationTime: expirationTime, - sortIndex: -1 - }; - - if (startTime > currentTime) { - // This is a delayed task. - newTask.sortIndex = startTime; - push(timerQueue, newTask); - - if (peek(taskQueue) === null && newTask === peek(timerQueue)) { - // All tasks are delayed, and this is the task with the earliest delay. - if (isHostTimeoutScheduled) { - // Cancel an existing timeout. - cancelHostTimeout(); - } else { - isHostTimeoutScheduled = true; - } // Schedule a timeout. - - - requestHostTimeout(handleTimeout, startTime - currentTime); - } - } else { - newTask.sortIndex = expirationTime; - push(taskQueue, newTask); - // wait until the next time we yield. - - - if (!isHostCallbackScheduled && !isPerformingWork) { - isHostCallbackScheduled = true; - requestHostCallback(flushWork); - } - } - - return newTask; - } - - function unstable_pauseExecution() { - } - - function unstable_continueExecution() { - - if (!isHostCallbackScheduled && !isPerformingWork) { - isHostCallbackScheduled = true; - requestHostCallback(flushWork); - } - } - - function unstable_getFirstCallbackNode() { - return peek(taskQueue); - } - - function unstable_cancelCallback(task) { - // remove from the queue because you can't remove arbitrary nodes from an - // array based heap, only the first one.) - - - task.callback = null; - } - - function unstable_getCurrentPriorityLevel() { - return currentPriorityLevel; - } - - var isMessageLoopRunning = false; - var scheduledHostCallback = null; - var taskTimeoutID = -1; // Scheduler periodically yields in case there is other work on the main - // thread, like user events. By default, it yields multiple times per frame. - // It does not attempt to align with frame boundaries, since most tasks don't - // need to be frame aligned; for those that do, use requestAnimationFrame. - - var frameInterval = frameYieldMs; - var startTime = -1; - - function shouldYieldToHost() { - var timeElapsed = exports.unstable_now() - startTime; - - if (timeElapsed < frameInterval) { - // The main thread has only been blocked for a really short amount of time; - // smaller than a single frame. Don't yield yet. - return false; - } // The main thread has been blocked for a non-negligible amount of time. We - - - return true; - } - - function requestPaint() { - - } - - function forceFrameRate(fps) { - if (fps < 0 || fps > 125) { - // Using console['error'] to evade Babel and ESLint - console['error']('forceFrameRate takes a positive int between 0 and 125, ' + 'forcing frame rates higher than 125 fps is not supported'); - return; - } - - if (fps > 0) { - frameInterval = Math.floor(1000 / fps); - } else { - // reset the framerate - frameInterval = frameYieldMs; - } - } - - var performWorkUntilDeadline = function () { - if (scheduledHostCallback !== null) { - var currentTime = exports.unstable_now(); // Keep track of the start time so we can measure how long the main thread - // has been blocked. - - startTime = currentTime; - var hasTimeRemaining = true; // If a scheduler task throws, exit the current browser task so the - // error can be observed. - // - // Intentionally not using a try-catch, since that makes some debugging - // techniques harder. Instead, if `scheduledHostCallback` errors, then - // `hasMoreWork` will remain true, and we'll continue the work loop. - - var hasMoreWork = true; - - try { - hasMoreWork = scheduledHostCallback(hasTimeRemaining, currentTime); - } finally { - if (hasMoreWork) { - // If there's more work, schedule the next message event at the end - // of the preceding one. - schedulePerformWorkUntilDeadline(); - } else { - isMessageLoopRunning = false; - scheduledHostCallback = null; - } - } - } else { - isMessageLoopRunning = false; - } // Yielding to the browser will give it a chance to paint, so we can - }; - - var schedulePerformWorkUntilDeadline; - - if (typeof localSetImmediate === 'function') { - // Node.js and old IE. - // There's a few reasons for why we prefer setImmediate. - // - // Unlike MessageChannel, it doesn't prevent a Node.js process from exiting. - // (Even though this is a DOM fork of the Scheduler, you could get here - // with a mix of Node.js 15+, which has a MessageChannel, and jsdom.) - // https://github.com/facebook/react/issues/20756 - // - // But also, it runs earlier which is the semantic we want. - // If other browsers ever implement it, it's better to use it. - // Although both of these would be inferior to native scheduling. - schedulePerformWorkUntilDeadline = function () { - localSetImmediate(performWorkUntilDeadline); - }; - } else if (typeof MessageChannel !== 'undefined') { - // DOM and Worker environments. - // We prefer MessageChannel because of the 4ms setTimeout clamping. - var channel = new MessageChannel(); - var port = channel.port2; - channel.port1.onmessage = performWorkUntilDeadline; - - schedulePerformWorkUntilDeadline = function () { - port.postMessage(null); - }; - } else { - // We should only fallback here in non-browser environments. - schedulePerformWorkUntilDeadline = function () { - localSetTimeout(performWorkUntilDeadline, 0); - }; - } - - function requestHostCallback(callback) { - scheduledHostCallback = callback; - - if (!isMessageLoopRunning) { - isMessageLoopRunning = true; - schedulePerformWorkUntilDeadline(); - } - } - - function requestHostTimeout(callback, ms) { - taskTimeoutID = localSetTimeout(function () { - callback(exports.unstable_now()); - }, ms); - } - - function cancelHostTimeout() { - localClearTimeout(taskTimeoutID); - taskTimeoutID = -1; - } - - var unstable_requestPaint = requestPaint; - var unstable_Profiling = null; - - exports.unstable_IdlePriority = IdlePriority; - exports.unstable_ImmediatePriority = ImmediatePriority; - exports.unstable_LowPriority = LowPriority; - exports.unstable_NormalPriority = NormalPriority; - exports.unstable_Profiling = unstable_Profiling; - exports.unstable_UserBlockingPriority = UserBlockingPriority; - exports.unstable_cancelCallback = unstable_cancelCallback; - exports.unstable_continueExecution = unstable_continueExecution; - exports.unstable_forceFrameRate = forceFrameRate; - exports.unstable_getCurrentPriorityLevel = unstable_getCurrentPriorityLevel; - exports.unstable_getFirstCallbackNode = unstable_getFirstCallbackNode; - exports.unstable_next = unstable_next; - exports.unstable_pauseExecution = unstable_pauseExecution; - exports.unstable_requestPaint = unstable_requestPaint; - exports.unstable_runWithPriority = unstable_runWithPriority; - exports.unstable_scheduleCallback = unstable_scheduleCallback; - exports.unstable_shouldYield = shouldYieldToHost; - exports.unstable_wrapCallback = unstable_wrapCallback; - /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */ - if ( - typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && - typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop === - 'function' - ) { - __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error()); - } - - })(); - } - }(scheduler_development)); - - { - scheduler.exports = scheduler_development; - } - - /** - * @license React - * react-dom.development.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - - { - (function() { - - /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */ - if ( - typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && - typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart === - 'function' - ) { - __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error()); - } - var React = React__default["default"]; - var Scheduler = scheduler.exports; - - var ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; - - var suppressWarning = false; - function setSuppressWarning(newSuppressWarning) { - { - suppressWarning = newSuppressWarning; - } - } // In DEV, calls to console.warn and console.error get replaced - // by calls to these methods by a Babel plugin. - // - // In PROD (or in packages without access to React internals), - // they are left as they are instead. - - function warn(format) { - { - if (!suppressWarning) { - for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } - - printWarning('warn', format, args); - } - } - } - function error(format) { - { - if (!suppressWarning) { - for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { - args[_key2 - 1] = arguments[_key2]; - } - - printWarning('error', format, args); - } - } - } - - function printWarning(level, format, args) { - // When changing this logic, you might want to also - // update consoleWithStackDev.www.js as well. - { - var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame; - var stack = ReactDebugCurrentFrame.getStackAddendum(); - - if (stack !== '') { - format += '%s'; - args = args.concat([stack]); - } // eslint-disable-next-line react-internal/safe-string-coercion - - - var argsWithFormat = args.map(function (item) { - return String(item); - }); // Careful: RN currently depends on this prefix - - argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it - // breaks IE9: https://github.com/facebook/react/issues/13610 - // eslint-disable-next-line react-internal/no-production-logging - - Function.prototype.apply.call(console[level], console, argsWithFormat); - } - } - - var FunctionComponent = 0; - var ClassComponent = 1; - var IndeterminateComponent = 2; // Before we know whether it is function or class - - var HostRoot = 3; // Root of a host tree. Could be nested inside another node. - - var HostPortal = 4; // A subtree. Could be an entry point to a different renderer. - - var HostComponent = 5; - var HostText = 6; - var Fragment = 7; - var Mode = 8; - var ContextConsumer = 9; - var ContextProvider = 10; - var ForwardRef = 11; - var Profiler = 12; - var SuspenseComponent = 13; - var MemoComponent = 14; - var SimpleMemoComponent = 15; - var LazyComponent = 16; - var IncompleteClassComponent = 17; - var DehydratedFragment = 18; - var SuspenseListComponent = 19; - var ScopeComponent = 21; - var OffscreenComponent = 22; - var LegacyHiddenComponent = 23; - var CacheComponent = 24; - var TracingMarkerComponent = 25; - - // ----------------------------------------------------------------------------- - - var enableClientRenderFallbackOnTextMismatch = true; // TODO: Need to review this code one more time before landing - // the react-reconciler package. - - var enableNewReconciler = false; // Support legacy Primer support on internal FB www - - var enableLazyContextPropagation = false; // FB-only usage. The new API has different semantics. - - var enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber - - var enableSuspenseAvoidThisFallback = false; // Enables unstable_avoidThisFallback feature in Fizz - // React DOM Chopping Block - // - // Similar to main Chopping Block but only flags related to React DOM. These are - // grouped because we will likely batch all of them into a single major release. - // ----------------------------------------------------------------------------- - // Disable support for comment nodes as React DOM containers. Already disabled - // in open source, but www codebase still relies on it. Need to remove. - - var disableCommentsAsDOMContainers = true; // Disable javascript: URL strings in href for XSS protection. - // and client rendering, mostly to allow JSX attributes to apply to the custom - // element's object properties instead of only HTML attributes. - // https://github.com/facebook/react/issues/11347 - - var enableCustomElementPropertySupport = false; // Disables children for