@lancar/lxui 1.0.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.
- package/CHANGELOG.md +88 -0
- package/LICENSE +21 -0
- package/README.md +5072 -0
- package/css/base/reset.css +91 -0
- package/css/base/tokens-extended.css +119 -0
- package/css/base/tokens.css +105 -0
- package/css/base/typography.css +35 -0
- package/css/base/utils.css +26 -0
- package/css/components/accordion.css +25 -0
- package/css/components/alert.css +22 -0
- package/css/components/animations.css +26 -0
- package/css/components/avatar.css +38 -0
- package/css/components/back-top.css +32 -0
- package/css/components/badge.css +37 -0
- package/css/components/breadcrumb.css +13 -0
- package/css/components/button.css +103 -0
- package/css/components/callout.css +20 -0
- package/css/components/card.css +42 -0
- package/css/components/carousel.css +31 -0
- package/css/components/chip.css +52 -0
- package/css/components/code-block.css +22 -0
- package/css/components/collapse.css +6 -0
- package/css/components/compat.css +27 -0
- package/css/components/dark-mode.css +35 -0
- package/css/components/divider.css +36 -0
- package/css/components/dropdown.css +39 -0
- package/css/components/empty.css +34 -0
- package/css/components/fab.css +28 -0
- package/css/components/file-drop.css +47 -0
- package/css/components/forms.css +107 -0
- package/css/components/kbd.css +5 -0
- package/css/components/list-group.css +17 -0
- package/css/components/modal.css +50 -0
- package/css/components/nav.css +25 -0
- package/css/components/navbar.css +44 -0
- package/css/components/number-input.css +52 -0
- package/css/components/offcanvas.css +25 -0
- package/css/components/pagination.css +17 -0
- package/css/components/popover.css +12 -0
- package/css/components/progress.css +26 -0
- package/css/components/rating.css +28 -0
- package/css/components/section.css +18 -0
- package/css/components/skeleton.css +19 -0
- package/css/components/spinner.css +38 -0
- package/css/components/stat.css +58 -0
- package/css/components/steps.css +76 -0
- package/css/components/table.css +29 -0
- package/css/components/tag.css +29 -0
- package/css/components/timeline.css +11 -0
- package/css/components/toast.css +14 -0
- package/css/components/toggler.css +20 -0
- package/css/components/tooltip.css +10 -0
- package/css/index.css +59 -0
- package/css/layout/grid.css +71 -0
- package/css/layout/utilities.css +257 -0
- package/js/breakpoint.js +13 -0
- package/js/carousel.js +62 -0
- package/js/clipboard.js +28 -0
- package/js/collapse.js +36 -0
- package/js/counter.js +38 -0
- package/js/dropdown.js +27 -0
- package/js/index.js +19 -0
- package/js/init.js +89 -0
- package/js/modal.js +44 -0
- package/js/number-input.js +44 -0
- package/js/offcanvas.js +28 -0
- package/js/popover.js +39 -0
- package/js/rating.js +39 -0
- package/js/scrollspy.js +24 -0
- package/js/tab.js +18 -0
- package/js/theme.js +9 -0
- package/js/toast.js +73 -0
- package/js/tooltip.js +39 -0
- package/js/utils.js +20 -0
- package/lx-grid.min.css +2 -0
- package/lx-utilities.min.css +2 -0
- package/lxeditor.min.css +2 -0
- package/lxfonts.min.css +2 -0
- package/lxicons.min.css +2 -0
- package/lxmarked.js +276 -0
- package/lxthemes.min.css +2 -0
- package/lxui.bundle.js +540 -0
- package/lxui.bundle.min.js +13 -0
- package/lxui.css +2163 -0
- package/lxui.esm.js +669 -0
- package/lxui.esm.min.js +8 -0
- package/lxui.js +859 -0
- package/lxui.min.css +2 -0
- package/lxui.min.js +7 -0
- package/lxui.rtl.css +2466 -0
- package/lxui.rtl.min.css +2 -0
- package/marked.min.js +69 -0
- package/package.json +183 -0
- package/types/index.d.ts +284 -0
package/lxicons.min.css
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! LxUI v1.0.0 | MIT License | https://ui.lancar.id */
|
|
2
|
+
/*! LxUI v1.0.0 | MIT License | https://ui.lancar.id *//*! LxUI v1.0.0 | MIT License | https://ui.lancar.id *//*! LxUI v1.0.0 | MIT License | https://ui.lancar.id *//*! LxUI v1.0.0 | MIT License | https://ui.lancar.id *//*! LxUI v1.0.0 | MIT License | https://ui.lancar.id *//*! LxUI v1.0.0 | MIT License | https://ui.lancar.id *//*! LxUI v1.0.0 | MIT License | https://ui.lancar.id *//*! LxUI v1.0.0 | MIT License | https://ui.lancar.id *//*! LxUI v1.0.0 | MIT License | https://ui.lancar.id */[class*=lx-icon-]{display:inline-block;width:20px;height:20px;background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;vertical-align:middle;flex-shrink:0;transition:color .15s}.lx-icon-sm{width:16px;height:16px}.lx-icon-lg{width:24px;height:24px}.lx-icon-xl{width:32px;height:32px}.lx-icon-2xl{width:48px;height:48px}.lx-icon-home{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpolyline points='9,22 9,12 15,12 15,22'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpolyline points='9,22 9,12 15,12 15,22'/%3E%3C/svg%3E")}.lx-icon-menu{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cline x1='3' y1='12' x2='21' y2='12'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cline x1='3' y1='18' x2='21' y2='18'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cline x1='3' y1='12' x2='21' y2='12'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cline x1='3' y1='18' x2='21' y2='18'/%3E%3C/svg%3E")}.lx-icon-arrow-right{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12,5 19,12 12,19'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12,5 19,12 12,19'/%3E%3C/svg%3E")}.lx-icon-arrow-left{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cline x1='19' y1='12' x2='5' y2='12'/%3E%3Cpolyline points='12,19 5,12 12,5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cline x1='19' y1='12' x2='5' y2='12'/%3E%3Cpolyline points='12,19 5,12 12,5'/%3E%3C/svg%3E")}.lx-icon-arrow-up{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cline x1='12' y1='19' x2='12' y2='5'/%3E%3Cpolyline points='5,12 12,5 19,12'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cline x1='12' y1='19' x2='12' y2='5'/%3E%3Cpolyline points='5,12 12,5 19,12'/%3E%3C/svg%3E")}.lx-icon-arrow-down{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cline x1='12' y1='5' x2='12' y2='19'/%3E%3Cpolyline points='19,12 12,19 5,12'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cline x1='12' y1='5' x2='12' y2='19'/%3E%3Cpolyline points='19,12 12,19 5,12'/%3E%3C/svg%3E")}.lx-icon-chevron-down{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpolyline points='6,9 12,15 18,9'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpolyline points='6,9 12,15 18,9'/%3E%3C/svg%3E")}.lx-icon-chevron-up{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpolyline points='18,15 12,9 6,15'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpolyline points='18,15 12,9 6,15'/%3E%3C/svg%3E")}.lx-icon-chevron-left{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpolyline points='15,18 9,12 15,6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpolyline points='15,18 9,12 15,6'/%3E%3C/svg%3E")}.lx-icon-chevron-right{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpolyline points='9,18 15,12 9,6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpolyline points='9,18 15,12 9,6'/%3E%3C/svg%3E")}.lx-icon-external-link{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15,3 21,3 21,9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15,3 21,3 21,9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E")}.lx-icon-plus{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cline x1='12' y1='5' x2='12' y2='19'/%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cline x1='12' y1='5' x2='12' y2='19'/%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3C/svg%3E")}.lx-icon-minus{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3C/svg%3E")}.lx-icon-x{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E")}.lx-icon-check{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpolyline points='20,6 9,17 4,12'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpolyline points='20,6 9,17 4,12'/%3E%3C/svg%3E")}.lx-icon-search{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E")}.lx-icon-edit{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7'/%3E%3Cpath d='M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7'/%3E%3Cpath d='M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z'/%3E%3C/svg%3E")}.lx-icon-trash{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpolyline points='3,6 5,6 21,6'/%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpolyline points='3,6 5,6 21,6'/%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2'/%3E%3C/svg%3E")}.lx-icon-copy{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Crect x='9' y='9' width='13' height='13' rx='2' ry='2'/%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Crect x='9' y='9' width='13' height='13' rx='2' ry='2'/%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1'/%3E%3C/svg%3E")}.lx-icon-download{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7,10 12,15 17,10'/%3E%3Cline x1='12' y1='15' x2='12' y2='3'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7,10 12,15 17,10'/%3E%3Cline x1='12' y1='15' x2='12' y2='3'/%3E%3C/svg%3E")}.lx-icon-upload{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='17,8 12,3 7,8'/%3E%3Cline x1='12' y1='3' x2='12' y2='15'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='17,8 12,3 7,8'/%3E%3Cline x1='12' y1='3' x2='12' y2='15'/%3E%3C/svg%3E")}.lx-icon-share{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Ccircle cx='18' cy='5' r='3'/%3E%3Ccircle cx='6' cy='12' r='3'/%3E%3Ccircle cx='18' cy='19' r='3'/%3E%3Cline x1='8.59' y1='13.51' x2='15.42' y2='17.49'/%3E%3Cline x1='15.41' y1='6.51' x2='8.59' y2='10.49'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Ccircle cx='18' cy='5' r='3'/%3E%3Ccircle cx='6' cy='12' r='3'/%3E%3Ccircle cx='18' cy='19' r='3'/%3E%3Cline x1='8.59' y1='13.51' x2='15.42' y2='17.49'/%3E%3Cline x1='15.41' y1='6.51' x2='8.59' y2='10.49'/%3E%3C/svg%3E")}.lx-icon-refresh{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpolyline points='23,4 23,10 17,10'/%3E%3Cpolyline points='1,20 1,14 7,14'/%3E%3Cpath d='M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpolyline points='23,4 23,10 17,10'/%3E%3Cpolyline points='1,20 1,14 7,14'/%3E%3Cpath d='M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15'/%3E%3C/svg%3E")}.lx-icon-settings{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z'/%3E%3C/svg%3E")}.lx-icon-user{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E")}.lx-icon-users{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E")}.lx-icon-bell{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9'/%3E%3Cpath d='M13.73 21a2 2 0 0 1-3.46 0'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9'/%3E%3Cpath d='M13.73 21a2 2 0 0 1-3.46 0'/%3E%3C/svg%3E")}.lx-icon-lock{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Crect x='3' y='11' width='18' height='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Crect x='3' y='11' width='18' height='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E")}.lx-icon-shield{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E")}.lx-icon-mail{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E")}.lx-icon-message{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E")}.lx-icon-phone{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07A19.5 19.5 0 0 1 4.69 12a19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 3.6 1.18h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L7.91 8.78a16 16 0 0 0 5.49 5.49l.89-.89a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07A19.5 19.5 0 0 1 4.69 12a19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 3.6 1.18h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L7.91 8.78a16 16 0 0 0 5.49 5.49l.89-.89a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E")}.lx-icon-chart-bar{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cline x1='18' y1='20' x2='18' y2='10'/%3E%3Cline x1='12' y1='20' x2='12' y2='4'/%3E%3Cline x1='6' y1='20' x2='6' y2='14'/%3E%3Cline x1='2' y1='20' x2='22' y2='20'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cline x1='18' y1='20' x2='18' y2='10'/%3E%3Cline x1='12' y1='20' x2='12' y2='4'/%3E%3Cline x1='6' y1='20' x2='6' y2='14'/%3E%3Cline x1='2' y1='20' x2='22' y2='20'/%3E%3C/svg%3E")}.lx-icon-chart-line{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpolyline points='22,12 18,12 15,21 9,3 6,12 2,12'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpolyline points='22,12 18,12 15,21 9,3 6,12 2,12'/%3E%3C/svg%3E")}.lx-icon-info,.lx-icon-info-circle{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='16' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='16' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'/%3E%3C/svg%3E")}.lx-icon-warning{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E")}.lx-icon-x-circle{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='15' y1='9' x2='9' y2='15'/%3E%3Cline x1='9' y1='9' x2='15' y2='15'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='15' y1='9' x2='9' y2='15'/%3E%3Cline x1='9' y1='9' x2='15' y2='15'/%3E%3C/svg%3E")}.lx-icon-heart{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/%3E%3C/svg%3E")}.lx-icon-star{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpolygon points='12,2 15.09,8.26 22,9.27 17,14.14 18.18,21.02 12,17.77 5.82,21.02 7,14.14 2,9.27 8.91,8.26'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpolygon points='12,2 15.09,8.26 22,9.27 17,14.14 18.18,21.02 12,17.77 5.82,21.02 7,14.14 2,9.27 8.91,8.26'/%3E%3C/svg%3E")}.lx-icon-globe{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='2' y1='12' x2='22' y2='12'/%3E%3Cpath d='M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='2' y1='12' x2='22' y2='12'/%3E%3Cpath d='M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/%3E%3C/svg%3E")}.lx-icon-link{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/%3E%3C/svg%3E")}.lx-icon-package{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cline x1='16.5' y1='9.4' x2='7.5' y2='4.21'/%3E%3Cpath d='M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z'/%3E%3Cpolyline points='3.27,6.96 12,12.01 20.73,6.96'/%3E%3Cline x1='12' y1='22.08' x2='12' y2='12'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cline x1='16.5' y1='9.4' x2='7.5' y2='4.21'/%3E%3Cpath d='M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z'/%3E%3Cpolyline points='3.27,6.96 12,12.01 20.73,6.96'/%3E%3Cline x1='12' y1='22.08' x2='12' y2='12'/%3E%3C/svg%3E")}.lx-icon-truck{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Crect x='1' y='3' width='15' height='13'/%3E%3Cpolygon points='16,8 20,8 23,11 23,16 16,16 16,8'/%3E%3Ccircle cx='5.5' cy='18.5' r='2.5'/%3E%3Ccircle cx='18.5' cy='18.5' r='2.5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Crect x='1' y='3' width='15' height='13'/%3E%3Cpolygon points='16,8 20,8 23,11 23,16 16,16 16,8'/%3E%3Ccircle cx='5.5' cy='18.5' r='2.5'/%3E%3Ccircle cx='18.5' cy='18.5' r='2.5'/%3E%3C/svg%3E")}.lx-icon-logout{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpolyline points='16,17 21,12 16,7'/%3E%3Cline x1='21' y1='12' x2='9' y2='12'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpolyline points='16,17 21,12 16,7'/%3E%3Cline x1='21' y1='12' x2='9' y2='12'/%3E%3C/svg%3E")}.lx-icon-code{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpolyline points='16,18 22,12 16,6'/%3E%3Cpolyline points='8,6 2,12 8,18'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpolyline points='16,18 22,12 16,6'/%3E%3Cpolyline points='8,6 2,12 8,18'/%3E%3C/svg%3E")}.lx-icon-terminal{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpolyline points='4,17 10,11 4,5'/%3E%3Cline x1='12' y1='19' x2='20' y2='19'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpolyline points='4,17 10,11 4,5'/%3E%3Cline x1='12' y1='19' x2='20' y2='19'/%3E%3C/svg%3E")}.lx-icon-filter{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpolygon points='22,3 2,3 10,12.46 10,19 14,21 14,12.46'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpolygon points='22,3 2,3 10,12.46 10,19 14,21 14,12.46'/%3E%3C/svg%3E")}.lx-icon-at{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94'/%3E%3C/svg%3E")}.lx-icon-calendar{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E")}.lx-icon-clock{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12,6 12,12 16,14'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12,6 12,12 16,14'/%3E%3C/svg%3E")}.lx-icon-image{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' ry='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpolyline points='21,15 16,10 5,21'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' ry='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpolyline points='21,15 16,10 5,21'/%3E%3C/svg%3E")}.lx-icon-folder{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z'/%3E%3C/svg%3E")}.lx-icon-database{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cellipse cx='12' cy='5' rx='9' ry='3'/%3E%3Cpath d='M21 12c0 1.66-4 3-9 3s-9-1.34-9-3'/%3E%3Cpath d='M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cellipse cx='12' cy='5' rx='9' ry='3'/%3E%3Cpath d='M21 12c0 1.66-4 3-9 3s-9-1.34-9-3'/%3E%3Cpath d='M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5'/%3E%3C/svg%3E")}
|
package/lxmarked.js
ADDED
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* lxmarked.js v1.0.0
|
|
3
|
+
* Markdown → HTML parser with optional lxUI class integration.
|
|
4
|
+
* Drop-in replacement for marked.js.
|
|
5
|
+
*
|
|
6
|
+
* API:
|
|
7
|
+
* LxMarked.parse(src, options)
|
|
8
|
+
* LxMarked.parseInline(src)
|
|
9
|
+
*
|
|
10
|
+
* Options:
|
|
11
|
+
* gfm {boolean} true GitHub Flavored Markdown (tables, task lists, strikethrough)
|
|
12
|
+
* breaks {boolean} false Newlines → <br>
|
|
13
|
+
* lxui {boolean} false Inject lxUI utility classes
|
|
14
|
+
*/
|
|
15
|
+
;(function (root, factory) {
|
|
16
|
+
if (typeof module === 'object' && module.exports) module.exports = factory();
|
|
17
|
+
else root.LxMarked = factory();
|
|
18
|
+
}(typeof globalThis !== 'undefined' ? globalThis : this, function () {
|
|
19
|
+
'use strict';
|
|
20
|
+
|
|
21
|
+
// ── Helpers ────────────────────────────────────────────────────────────────
|
|
22
|
+
|
|
23
|
+
function esc(s) {
|
|
24
|
+
return String(s)
|
|
25
|
+
.replace(/&(?!(?:[a-zA-Z]+|#\d+|#x[\da-fA-F]+);)/g, '&')
|
|
26
|
+
.replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"');
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function slugify(s) {
|
|
30
|
+
return s.toLowerCase()
|
|
31
|
+
.replace(/[^\w\s-]/g, '')
|
|
32
|
+
.replace(/\s+/g, '-')
|
|
33
|
+
.replace(/-+/g, '-')
|
|
34
|
+
.replace(/^-|-$/g, '');
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// ── Inline parser ──────────────────────────────────────────────────────────
|
|
38
|
+
|
|
39
|
+
function parseInline(src) {
|
|
40
|
+
// 1. Protect inline code spans
|
|
41
|
+
const spans = [];
|
|
42
|
+
src = src.replace(/``([\s\S]+?)``|`([^`\n]+?)`/g, (_, a, b) => {
|
|
43
|
+
spans.push(`<code>${esc(a !== undefined ? a : b)}</code>`);
|
|
44
|
+
return `\x00c${spans.length - 1}\x00`;
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
// 2. Bold + italic combined
|
|
48
|
+
src = src.replace(/(\*\*\*|___)([\s\S]+?)\1/g, '<strong><em>$2</em></strong>');
|
|
49
|
+
// 3. Bold
|
|
50
|
+
src = src.replace(/\*\*([^*\n](?:[^*\n]|\*(?!\*))*)\*\*/g, '<strong>$1</strong>');
|
|
51
|
+
src = src.replace(/__([^_\n](?:[^_\n]|_(?!_))*)__/g, '<strong>$1</strong>');
|
|
52
|
+
// 4. Italic
|
|
53
|
+
src = src.replace(/\*([^\s*][^*\n]*[^\s*]|\S)\*/g, '<em>$1</em>');
|
|
54
|
+
src = src.replace(/_([^\s_][^_\n]*[^\s_]|\S)_/g, '<em>$1</em>');
|
|
55
|
+
// 5. Strikethrough
|
|
56
|
+
src = src.replace(/~~([^~\n]+)~~/g, '<del>$1</del>');
|
|
57
|
+
// 6. Images (before links)
|
|
58
|
+
src = src.replace(/!\[([^\]]*)\]\(([^)]+?)(?:\s+"([^"]*)")?\)/g,
|
|
59
|
+
(_, alt, href, title) =>
|
|
60
|
+
`<img src="${esc(href)}" alt="${esc(alt)}"${title ? ` title="${esc(title)}"` : ''} loading="lazy">`);
|
|
61
|
+
// 7. Links
|
|
62
|
+
src = src.replace(/\[([^\]]+)\]\(([^)]+?)(?:\s+"([^"]*)")?\)/g,
|
|
63
|
+
(_, text, href, title) =>
|
|
64
|
+
`<a href="${esc(href)}"${title ? ` title="${esc(title)}"` : ''} rel="noopener">${text}</a>`);
|
|
65
|
+
// 8. Auto-links
|
|
66
|
+
src = src.replace(/<(https?:\/\/[^>]+)>/g,
|
|
67
|
+
(_, url) => `<a href="${esc(url)}">${esc(url)}</a>`);
|
|
68
|
+
// 9. Hard line breaks
|
|
69
|
+
src = src.replace(/ \n/g, '<br>\n').replace(/\\\n/g, '<br>\n');
|
|
70
|
+
// 10. Restore code spans
|
|
71
|
+
return src.replace(/\x00c(\d+)\x00/g, (_, i) => spans[+i]);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// ── Block: list ────────────────────────────────────────────────────────────
|
|
75
|
+
|
|
76
|
+
function renderList(items, ordered, lxui) {
|
|
77
|
+
const tag = ordered ? 'ol' : 'ul';
|
|
78
|
+
const cls = lxui ? ` class="lx-list${ordered ? ' lx-list-decimal' : ''}"` : '';
|
|
79
|
+
const rows = items.map(item => {
|
|
80
|
+
// Task list
|
|
81
|
+
const t = item.match(/^\[([xX ])\] ([\s\S]*)/);
|
|
82
|
+
if (t) {
|
|
83
|
+
const checked = t[1].toLowerCase() === 'x';
|
|
84
|
+
return `<li><input type="checkbox"${checked ? ' checked' : ''} disabled aria-hidden="true"> ${parseInline(t[2])}</li>`;
|
|
85
|
+
}
|
|
86
|
+
// Nested list embedded?
|
|
87
|
+
return `<li>${parseInline(item)}</li>`;
|
|
88
|
+
});
|
|
89
|
+
return `<${tag}${cls}>\n${rows.join('\n')}\n</${tag}>\n`;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// ── Block: table ───────────────────────────────────────────────────────────
|
|
93
|
+
|
|
94
|
+
function renderTable(hdrLine, sepLine, bodyLines, lxui) {
|
|
95
|
+
const cols = c => c.replace(/^\||\|$/g, '').split('|').map(s => s.trim());
|
|
96
|
+
const aligns = cols(sepLine).map(c => {
|
|
97
|
+
if (/^:-+:$/.test(c)) return 'center';
|
|
98
|
+
if (/-+:$/.test(c)) return 'right';
|
|
99
|
+
if (/^:-/.test(c)) return 'left';
|
|
100
|
+
return null;
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
const th = cols(hdrLine).map((c, i) => {
|
|
104
|
+
const a = aligns[i] ? ` style="text-align:${aligns[i]}"` : '';
|
|
105
|
+
return `<th${a}>${parseInline(c)}</th>`;
|
|
106
|
+
}).join('');
|
|
107
|
+
|
|
108
|
+
const trs = bodyLines.filter(l => l.trim()).map(row =>
|
|
109
|
+
'<tr>' + cols(row).map((c, i) => {
|
|
110
|
+
const a = aligns[i] ? ` style="text-align:${aligns[i]}"` : '';
|
|
111
|
+
return `<td${a}>${parseInline(c)}</td>`;
|
|
112
|
+
}).join('') + '</tr>'
|
|
113
|
+
).join('\n');
|
|
114
|
+
|
|
115
|
+
const tblCls = lxui ? ' class="lx-table lx-table-bordered"' : '';
|
|
116
|
+
const wrap = lxui ? ' style="overflow-x:auto"' : '';
|
|
117
|
+
return `<div${wrap}><table${tblCls}>\n<thead><tr>${th}</tr></thead>\n<tbody>\n${trs}\n</tbody>\n</table></div>\n`;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
// ── Main block parser ──────────────────────────────────────────────────────
|
|
121
|
+
|
|
122
|
+
function parse(src, opts) {
|
|
123
|
+
const { gfm = true, breaks = false, lxui = false } = opts || {};
|
|
124
|
+
src = src.replace(/\r\n|\r/g, '\n');
|
|
125
|
+
|
|
126
|
+
// Extract fenced code blocks first (highest priority)
|
|
127
|
+
const blocks = [];
|
|
128
|
+
src = src.replace(/^(`{3,}|~{3,})([\w+#\-. ]*)\n([\s\S]*?)\n?\1\s*$/gm,
|
|
129
|
+
(_, fence, info, code) => {
|
|
130
|
+
const lang = info.trim();
|
|
131
|
+
const langCls = lang ? ` class="language-${esc(lang)}"` : '';
|
|
132
|
+
const preCls = lxui ? ' class="lx-code-block"' : '';
|
|
133
|
+
blocks.push(`<pre${preCls}><code${langCls}>${esc(code.replace(/\n$/, ''))}</code></pre>`);
|
|
134
|
+
return `\x00B${blocks.length - 1}\x00`;
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
const lines = src.split('\n');
|
|
138
|
+
let out = '', i = 0;
|
|
139
|
+
|
|
140
|
+
while (i < lines.length) {
|
|
141
|
+
const line = lines[i];
|
|
142
|
+
|
|
143
|
+
// Blank
|
|
144
|
+
if (!line.trim()) { i++; continue; }
|
|
145
|
+
|
|
146
|
+
// Code block placeholder
|
|
147
|
+
const cbM = line.trim().match(/^\x00B(\d+)\x00$/);
|
|
148
|
+
if (cbM) { out += blocks[+cbM[1]] + '\n'; i++; continue; }
|
|
149
|
+
|
|
150
|
+
// ATX Heading
|
|
151
|
+
const hM = line.match(/^(#{1,6})\s+(.*?)(?:\s+#+)?\s*$/);
|
|
152
|
+
if (hM) {
|
|
153
|
+
const lvl = hM[1].length;
|
|
154
|
+
const txt = hM[2];
|
|
155
|
+
const id = slugify(txt.replace(/[*_`~]/g, ''));
|
|
156
|
+
out += `<h${lvl} id="${id}">${parseInline(txt)}</h${lvl}>\n`;
|
|
157
|
+
i++; continue;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
// Setext headings
|
|
161
|
+
if (i + 1 < lines.length) {
|
|
162
|
+
if (/^=+\s*$/.test(lines[i + 1]) && line.trim()) {
|
|
163
|
+
out += `<h1 id="${slugify(line)}">${parseInline(line)}</h1>\n`;
|
|
164
|
+
i += 2; continue;
|
|
165
|
+
}
|
|
166
|
+
const isSetext2 = /^-+\s*$/.test(lines[i + 1]);
|
|
167
|
+
const notHR = !/^[-*_]{3,}\s*$/.test(line.trim());
|
|
168
|
+
if (isSetext2 && line.trim() && notHR) {
|
|
169
|
+
out += `<h2 id="${slugify(line)}">${parseInline(line)}</h2>\n`;
|
|
170
|
+
i += 2; continue;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
// Horizontal rule
|
|
175
|
+
if (/^(?:[-*_]\s*){3,}$/.test(line.trim())) {
|
|
176
|
+
out += '<hr>\n'; i++; continue;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
// Blockquote
|
|
180
|
+
if (/^>\s?/.test(line)) {
|
|
181
|
+
const bq = [];
|
|
182
|
+
while (i < lines.length && (/^>\s?/.test(lines[i]) ||
|
|
183
|
+
(!lines[i].trim() && i + 1 < lines.length && /^>\s?/.test(lines[i + 1])))) {
|
|
184
|
+
bq.push(lines[i].replace(/^>\s?/, ''));
|
|
185
|
+
i++;
|
|
186
|
+
}
|
|
187
|
+
const cls = lxui ? ' class="lx-blockquote"' : '';
|
|
188
|
+
out += `<blockquote${cls}>\n${parse(bq.join('\n'), { gfm, breaks, lxui })}</blockquote>\n`;
|
|
189
|
+
continue;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
// Indented code block (4 spaces / 1 tab)
|
|
193
|
+
if (/^( |\t)/.test(line)) {
|
|
194
|
+
const code = [];
|
|
195
|
+
while (i < lines.length && (/^( |\t)/.test(lines[i]) || !lines[i].trim())) {
|
|
196
|
+
code.push(lines[i].replace(/^ |\t/, ''));
|
|
197
|
+
i++;
|
|
198
|
+
}
|
|
199
|
+
// trim trailing blank lines
|
|
200
|
+
while (code.length && !code[code.length - 1].trim()) code.pop();
|
|
201
|
+
const preCls = lxui ? ' class="lx-code-block"' : '';
|
|
202
|
+
out += `<pre${preCls}><code>${esc(code.join('\n'))}</code></pre>\n`;
|
|
203
|
+
continue;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
// Lists
|
|
207
|
+
const ulM = line.match(/^(\s*)[-*+]\s+([\s\S]+)/);
|
|
208
|
+
const olM = line.match(/^(\s*)\d+\.\s+([\s\S]+)/);
|
|
209
|
+
if (ulM || olM) {
|
|
210
|
+
const ordered = !!olM;
|
|
211
|
+
const baseIndent = (ordered ? olM : ulM)[1].length;
|
|
212
|
+
const listItems = [];
|
|
213
|
+
let cur = (ordered ? olM : ulM)[2];
|
|
214
|
+
|
|
215
|
+
i++;
|
|
216
|
+
while (i < lines.length) {
|
|
217
|
+
const l = lines[i];
|
|
218
|
+
if (!l.trim()) { i++; continue; }
|
|
219
|
+
|
|
220
|
+
const ul2 = l.match(/^(\s*)[-*+]\s+([\s\S]+)/);
|
|
221
|
+
const ol2 = l.match(/^(\s*)\d+\.\s+([\s\S]+)/);
|
|
222
|
+
const nxt = ordered ? ol2 : ul2;
|
|
223
|
+
|
|
224
|
+
if (nxt && nxt[1].length === baseIndent) {
|
|
225
|
+
listItems.push(cur.trim());
|
|
226
|
+
cur = nxt[2]; i++;
|
|
227
|
+
} else if (l.startsWith(' '.repeat(baseIndent + 2)) || l.startsWith('\t')) {
|
|
228
|
+
cur += ' ' + l.trim(); i++;
|
|
229
|
+
} else { break; }
|
|
230
|
+
}
|
|
231
|
+
listItems.push(cur.trim());
|
|
232
|
+
out += renderList(listItems, ordered, lxui);
|
|
233
|
+
continue;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
// GFM Table
|
|
237
|
+
if (gfm && i + 1 < lines.length && line.includes('|') &&
|
|
238
|
+
/^\|?[\s:|-]+[\s:|*-]*\|?$/.test((lines[i + 1] || '').trim())) {
|
|
239
|
+
const hdr = line;
|
|
240
|
+
const sep = lines[i + 1];
|
|
241
|
+
const body = [];
|
|
242
|
+
i += 2;
|
|
243
|
+
while (i < lines.length && lines[i].includes('|')) { body.push(lines[i]); i++; }
|
|
244
|
+
out += renderTable(hdr, sep, body, lxui);
|
|
245
|
+
continue;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
// Paragraph
|
|
249
|
+
const para = [];
|
|
250
|
+
while (i < lines.length) {
|
|
251
|
+
const l = lines[i];
|
|
252
|
+
if (!l.trim()) break;
|
|
253
|
+
if (/^#{1,6}\s/.test(l) || /^(?:[-*_]\s*){3,}$/.test(l.trim())) break;
|
|
254
|
+
if (/^>\s?/.test(l) || /^(\s*)[-*+]\s/.test(l) || /^(\s*)\d+\.\s/.test(l)) break;
|
|
255
|
+
if (/^\x00B/.test(l.trim()) || /^( |\t)/.test(l)) break;
|
|
256
|
+
if (gfm && i + 1 < lines.length &&
|
|
257
|
+
/^\|?[\s:|-]+[\s:|*-]*\|?$/.test((lines[i + 1] || '').trim())) break;
|
|
258
|
+
// setext
|
|
259
|
+
if (para.length && i + 1 < lines.length &&
|
|
260
|
+
(/^=+\s*$/.test(lines[i + 1]) || /^-+\s*$/.test(lines[i + 1]))) break;
|
|
261
|
+
para.push(l);
|
|
262
|
+
i++;
|
|
263
|
+
}
|
|
264
|
+
if (para.length) {
|
|
265
|
+
const txt = breaks
|
|
266
|
+
? para.join('<br>\n')
|
|
267
|
+
: para.join('\n');
|
|
268
|
+
out += `<p>${parseInline(txt)}</p>\n`;
|
|
269
|
+
} else { i++; }
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
return out;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
return { parse, parseInline };
|
|
276
|
+
}));
|
package/lxthemes.min.css
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! LxUI v1.0.0 | MIT License | https://ui.lancar.id */
|
|
2
|
+
/*! LxUI v1.0.0 | MIT License | https://ui.lancar.id *//*! LxUI v1.0.0 | MIT License | https://ui.lancar.id *//*! LxUI v1.0.0 | MIT License | https://ui.lancar.id *//*! LxUI v1.0.0 | MIT License | https://ui.lancar.id *//*! LxUI v1.0.0 | MIT License | https://ui.lancar.id *//*! LxUI v1.0.0 | MIT License | https://ui.lancar.id *//*! LxUI v1.0.0 | MIT License | https://ui.lancar.id *//*! LxUI v1.0.0 | MIT License | https://ui.lancar.id *//*! LxUI v1.0.0 | MIT License | https://ui.lancar.id */:root{--ramp-gray-50:#F1EFE8;--ramp-gray-100:#D3D1C7;--ramp-gray-200:#B4B2A9;--ramp-gray-400:#888780;--ramp-gray-600:#5F5E5A;--ramp-gray-800:#444441;--ramp-gray-900:#2C2C2A;--ramp-amber-50:#FAEEDA;--ramp-amber-100:#FAC775;--ramp-amber-200:#EF9F27;--ramp-amber-400:#BA7517;--ramp-amber-600:#854F0B;--ramp-amber-800:#633806;--ramp-amber-900:#412402;--ramp-green-50:#EAF3DE;--ramp-green-100:#C0DD97;--ramp-green-200:#97C459;--ramp-green-400:#639922;--ramp-green-600:#3B6D11;--ramp-green-800:#27500A;--ramp-green-900:#173404;--ramp-blue-50:#E6F1FB;--ramp-blue-100:#B5D4F4;--ramp-blue-200:#85B7EB;--ramp-blue-400:#378ADD;--ramp-blue-600:#185FA5;--ramp-blue-800:#0C447C;--ramp-blue-900:#042C53;--ramp-purple-50:#EEEDFE;--ramp-purple-100:#CECBF6;--ramp-purple-200:#AFA9EC;--ramp-purple-400:#7F77DD;--ramp-purple-600:#534AB7;--ramp-purple-800:#3C3489;--ramp-purple-900:#26215C;--ramp-pink-50:#FBEAF0;--ramp-pink-100:#F4C0D1;--ramp-pink-200:#ED93B1;--ramp-pink-400:#D4537E;--ramp-pink-600:#993556;--ramp-pink-800:#72243E;--ramp-pink-900:#4B1528;--ramp-coral-50:#FAECE7;--ramp-coral-100:#F5C4B3;--ramp-coral-200:#F0997B;--ramp-coral-400:#D85A30;--ramp-coral-600:#993C1D;--ramp-coral-800:#712B13;--ramp-coral-900:#4A1B0C;--ramp-teal-50:#E1F5EE;--ramp-teal-100:#9FE1CB;--ramp-teal-200:#5DCAA5;--ramp-teal-400:#1D9E75;--ramp-teal-600:#0F6E56;--ramp-teal-800:#085041;--ramp-teal-900:#04342C;--ramp-red-50:#FCEBEB;--ramp-red-100:#F7C1C1;--ramp-red-200:#F09595;--ramp-red-400:#E24B4A;--ramp-red-600:#A32D2D;--ramp-red-800:#791F1F;--ramp-red-900:#501313;--success:var(--ramp-teal-600);--success-bg:var(--ramp-teal-50);--success-text:var(--ramp-teal-900);--warning:#B45309;--warning-bg:#FEF8ED;--warning-text:#78350F;--error:var(--ramp-red-600);--error-bg:var(--ramp-red-50);--error-text:var(--ramp-red-900);--info:var(--ramp-blue-600);--info-bg:var(--ramp-blue-50);--info-text:var(--ramp-blue-900)}.dark,[data-mode=dark]{--success:var(--ramp-teal-200);--success-bg:#1A3328;--success-text:var(--ramp-teal-100);--warning:#FBBF24;--warning-bg:#3A2800;--warning-text:#FCD96A;--error:var(--ramp-red-200);--error-bg:#3A1212;--error-text:var(--ramp-red-100);--info:var(--ramp-blue-200);--info-bg:#1A2C48;--info-text:var(--ramp-blue-100)}[data-theme=lumen],[data-theme=lumen][data-mode=light]{--bg-primary:#FAFAF8;--bg-secondary:#F2F2EF;--bg-tertiary:#E8E8E4;--surface:#FFFFFF;--text-primary:#2D2A26;--text-secondary:#6B6864;--text-muted:#9C9894;--border-strong:#C8C5BF;--border-default:#DDDBD5;--border-subtle:#ECEAE6;--accent:#4A5568;--accent-hover:#3A4558;--accent-subtle:#EDF0F3;--accent-fg:#FFFFFF}.dark [data-theme=lumen],[data-theme=lumen][data-mode=dark]{--bg-primary:#1C1E24;--bg-secondary:#252830;--bg-tertiary:#2F3238;--surface:#303540;--text-primary:#E8E8E8;--text-secondary:#A0A4AE;--text-muted:#68707C;--border-strong:#464B56;--border-default:#383D48;--border-subtle:#2F3238;--accent:#8BACC0;--accent-hover:#9BBCD0;--accent-subtle:#1E2430;--accent-fg:#1C1E24}/* TERRA — Warm Earth · Cozy · Organic */ [data-theme=terra],[data-theme=terra][data-mode=light]{--bg-primary:#F3EFE8;--bg-secondary:#EDE7DD;--bg-tertiary:#E4DDD3;--surface:#FBF8F4;--text-primary:#3F3530;--text-secondary:#7A6E65;--text-muted:#A89C94;--border-strong:#B8AFA6;--border-default:#C8BFB2;--border-subtle:#D8D0C8;--accent:#8B5E3C;--accent-hover:#7A4E2C;--accent-subtle:#F7ECE0;--accent-fg:#FFFFFF}.dark [data-theme=terra],[data-theme=terra][data-mode=dark]{--bg-primary:#2C2622;--bg-secondary:#352E2A;--bg-tertiary:#3E3632;--surface:#40382F;--text-primary:#DDD4CC;--text-secondary:#9C8E84;--text-muted:#6E6058;--border-strong:#5A504A;--border-default:#4A4038;--border-subtle:#3E3632;--accent:#D4956A;--accent-hover:#E4A57A;--accent-subtle:#3A2C20;--accent-fg:#1C1410}/* VERDANT — Natural · Fresh · Growth */ [data-theme=verdant],[data-theme=verdant][data-mode=light]{--bg-primary:#EEF5F0;--bg-secondary:#E4EEE7;--bg-tertiary:#DAE8DC;--surface:#F5FAF6;--text-primary:#2F3A33;--text-secondary:#62786A;--text-muted:#8EA898;--border-strong:#A8C0B0;--border-default:#B8CCBC;--border-subtle:#CAD8CC;--accent:#3A7A52;--accent-hover:#2A6A42;--accent-subtle:#E4F2E8;--accent-fg:#FFFFFF}.dark [data-theme=verdant],[data-theme=verdant][data-mode=dark]{--bg-primary:#263128;--bg-secondary:#2E3A30;--bg-tertiary:#364438;--surface:#3A4840;--text-primary:#D8E0D4;--text-secondary:#8CA890;--text-muted:#607866;--border-strong:#486050;--border-default:#3C5040;--border-subtle:#364438;--accent:#70C088;--accent-hover:#80D098;--accent-subtle:#243428;--accent-fg:#1A2A1E}/* AETHER — Professional · Trustworthy · Clear */ [data-theme=aether],[data-theme=aether][data-mode=light]{--bg-primary:#E8F0F9;--bg-secondary:#DFE8F5;--bg-tertiary:#D4DFEF;--surface:#F0F6FC;--text-primary:#2A3340;--text-secondary:#607080;--text-muted:#8898A8;--border-strong:#A8BED0;--border-default:#B8CAD8;--border-subtle:#CAD8E4;--accent:#1E5FAA;--accent-hover:#184E90;--accent-subtle:#DCEAF8;--accent-fg:#FFFFFF}.dark [data-theme=aether],[data-theme=aether][data-mode=dark]{--bg-primary:#1A2230;--bg-secondary:#222C3C;--bg-tertiary:#2A3448;--surface:#2E3A50;--text-primary:#D8DFE8;--text-secondary:#8090A8;--text-muted:#566070;--border-strong:#3A4E64;--border-default:#2E3F52;--border-subtle:#2A3448;--accent:#6AAAD8;--accent-hover:#7ABAEC;--accent-subtle:#1E3048;--accent-fg:#102030}/* MYSTIQUE — Creative · Premium · Imaginative */ [data-theme=mystique],[data-theme=mystique][data-mode=light]{--bg-primary:#F2E8F9;--bg-secondary:#EAE0F5;--bg-tertiary:#E0D4F0;--surface:#F8F2FD;--text-primary:#392D47;--text-secondary:#706088;--text-muted:#9888B0;--border-strong:#B8A0CC;--border-default:#C8B4D8;--border-subtle:#D4C4E4;--accent:#7038A8;--accent-hover:#602898;--accent-subtle:#F0E4FC;--accent-fg:#FFFFFF}.dark [data-theme=mystique],[data-theme=mystique][data-mode=dark]{--bg-primary:#221627;--bg-secondary:#2C1E33;--bg-tertiary:#362840;--surface:#3C2C48;--text-primary:#DDD0E5;--text-secondary:#9880A8;--text-muted:#6C5880;--border-strong:#4E3868;--border-default:#402C58;--border-subtle:#362840;--accent:#B088D8;--accent-hover:#C098E8;--accent-subtle:#2C1E40;--accent-fg:#1A1028}/* ROSÉA — Romantic · Soft · Warmth */ [data-theme=rosea],[data-theme=rosea][data-mode=light]{--bg-primary:#FAF0F2;--bg-secondary:#F5E5E8;--bg-tertiary:#EED8DC;--surface:#FFF5F6;--text-primary:#3D2830;--text-secondary:#7A5860;--text-muted:#A88088;--border-strong:#C8A0A8;--border-default:#D4B0B8;--border-subtle:#E0C4C8;--accent:#A83048;--accent-hover:#982038;--accent-subtle:#FCE8EC;--accent-fg:#FFFFFF}.dark [data-theme=rosea],[data-theme=rosea][data-mode=dark]{--bg-primary:#2A1A1E;--bg-secondary:#342028;--bg-tertiary:#3E2832;--surface:#44303A;--text-primary:#E8D0D5;--text-secondary:#A08088;--text-muted:#706068;--border-strong:#5A3840;--border-default:#4A2C34;--border-subtle:#3E2832;--accent:#E0788A;--accent-hover:#F08898;--accent-subtle:#3A2028;--accent-fg:#200810}/* OBSIDIAN — Minimal · Editorial · Developer */ [data-theme=obsidian],[data-theme=obsidian][data-mode=light]{--bg-primary:#F0F2F5;--bg-secondary:#E8EBF0;--bg-tertiary:#DDE0E8;--surface:#F8F9FB;--text-primary:#2A3040;--text-secondary:#5C6878;--text-muted:#8898A8;--border-strong:#A8B4C4;--border-default:#B8C2D0;--border-subtle:#C8D0DC;--accent:#2C4A6E;--accent-hover:#1E3A5C;--accent-subtle:#E4EAF4;--accent-fg:#FFFFFF}.dark [data-theme=obsidian],[data-theme=obsidian][data-mode=dark]{--bg-primary:#1E2228;--bg-secondary:#262C34;--bg-tertiary:#2E3440;--surface:#343C48;--text-primary:#CDD2DB;--text-secondary:#7888A0;--text-muted:#4E5C70;--border-strong:#3C4858;--border-default:#2E3C4E;--border-subtle:#2E3440;--accent:#6898C8;--accent-hover:#78A8D8;--accent-subtle:#1E2C3A;--accent-fg:#102030}/* ── §4 EDITOR / TERMINAL THEMES ── */ /* GITHUB DARK (defaulteditorfallback) */ [data-editor-theme=github-dark],[data-editor-theme]{--bg:#0d1117;--bg2:#161b22;--bg3:#21262d;--surface:#2d333b;--text:#e6edf3;--muted:#7d8590;--dim:#484f58;--accent:#58a6ff;--accent-bg:rgba(88,166,255,.1);--success:#3fb950;--success-bg:rgba(63,185,80,.1);--warn:#d29922;--warn-bg:rgba(210,153,34,.12);--danger:#f85149;--danger-bg:rgba(248,81,73,.12);--info:#79c0ff;--info-bg:rgba(121,192,255,.1);--syntax-string:#a5d6ff;--syntax-number:#79c0ff;--syntax-keyword:#ff7b72;--syntax-function:#d2a8ff;--syntax-comment:#8b949e;--syntax-attr:#79c0ff;--syntax-tag:#7ee787;--syntax-variable:#ffa657}/* GITHUB LIGHT */ [data-editor-theme=github-light]{--bg:#ffffff;--bg2:#f6f8fa;--bg3:#eaeef2;--surface:#f0f2f5;--text:#1f2328;--muted:#656d76;--dim:#9198a1;--accent:#0969da;--accent-bg:rgba(9,105,218,.08);--success:#1a7f37;--success-bg:rgba(26,127,55,.1);--warn:#9a6700;--warn-bg:rgba(154,103,0,.1);--danger:#d1242f;--danger-bg:rgba(209,36,47,.1);--info:#0969da;--info-bg:rgba(9,105,218,.08);--syntax-string:#0a3069;--syntax-number:#033b8b;--syntax-keyword:#d1242f;--syntax-function:#6f42c1;--syntax-comment:#79a8be;--syntax-attr:#0969da;--syntax-tag:#116329;--syntax-variable:#bf8700}/* DRACULA */ [data-editor-theme=dracula]{--bg:#282a36;--bg2:#1e1f2b;--bg3:#44475a;--surface:#383a47;--text:#f8f8f2;--muted:#6272a4;--dim:#44475a;--accent:#bd93f9;--accent-bg:rgba(189,147,249,.12);--success:#50fa7b;--success-bg:rgba(80,250,123,.1);--warn:#f1fa8c;--warn-bg:rgba(241,250,140,.1);--danger:#ff5555;--danger-bg:rgba(255,85,85,.12);--info:#8be9fd;--info-bg:rgba(139,233,253,.1);--syntax-string:#f1fa8c;--syntax-number:#bd93f9;--syntax-keyword:#ff79c6;--syntax-function:#50fa7b;--syntax-comment:#6272a4;--syntax-attr:#8be9fd;--syntax-tag:#ff79c6;--syntax-variable:#ffb86c}/* NORD */ [data-editor-theme=nord]{--bg:#2e3440;--bg2:#3b4252;--bg3:#434c5e;--surface:#4c566a;--text:#eceff4;--muted:#d8dee9;--dim:#4c566a;--accent:#88c0d0;--accent-bg:rgba(136,192,208,.12);--success:#a3be8c;--success-bg:rgba(163,190,140,.12);--warn:#ebcb8b;--warn-bg:rgba(235,203,139,.12);--danger:#bf616a;--danger-bg:rgba(191,97,106,.12);--info:#81a1c1;--info-bg:rgba(129,161,193,.1);--syntax-string:#a3be8c;--syntax-number:#b48ead;--syntax-keyword:#81a1c1;--syntax-function:#88c0d0;--syntax-comment:#616e88;--syntax-attr:#8fbcbb;--syntax-tag:#81a1c1;--syntax-variable:#d08770}/* MONOKAI */ [data-editor-theme=monokai]{--bg:#272822;--bg2:#1e1f1c;--bg3:#3e3d32;--surface:#49483e;--text:#f8f8f2;--muted:#75715e;--dim:#49483e;--accent:#66d9e8;--accent-bg:rgba(102,217,232,.12);--success:#a6e22e;--success-bg:rgba(166,226,46,.1);--warn:#e6db74;--warn-bg:rgba(230,219,116,.1);--danger:#f92672;--danger-bg:rgba(249,38,114,.12);--info:#a1efe4;--info-bg:rgba(161,239,228,.1);--syntax-string:#e6db74;--syntax-number:#ae81ff;--syntax-keyword:#f92672;--syntax-function:#a6e22e;--syntax-comment:#75715e;--syntax-attr:#66d9e8;--syntax-tag:#f92672;--syntax-variable:#fd971f}/* SOLARIZED DARK */ [data-editor-theme=solarized-dark]{--bg:#002b36;--bg2:#073642;--bg3:#0d3f4e;--surface:#586e75;--text:#93a1a1;--muted:#657b83;--dim:#586e75;--accent:#268bd2;--accent-bg:rgba(38,139,210,.12);--success:#859900;--success-bg:rgba(133,153,0,.12);--warn:#b58900;--warn-bg:rgba(181,137,0,.12);--danger:#dc322f;--danger-bg:rgba(220,50,47,.12);--info:#2aa198;--info-bg:rgba(42,161,152,.1);--syntax-string:#2aa198;--syntax-number:#d33682;--syntax-keyword:#859900;--syntax-function:#268bd2;--syntax-comment:#586e75;--syntax-attr:#268bd2;--syntax-tag:#859900;--syntax-variable:#b58900}/* SOLARIZED LIGHT */ [data-editor-theme=solarized-light]{--bg:#fdf6e3;--bg2:#eee8d5;--bg3:#e3ddc8;--surface:#d5cfc0;--text:#657b83;--muted:#839496;--dim:#93a1a1;--accent:#268bd2;--accent-bg:rgba(38,139,210,.1);--success:#859900;--success-bg:rgba(133,153,0,.1);--warn:#b58900;--warn-bg:rgba(181,137,0,.1);--danger:#dc322f;--danger-bg:rgba(220,50,47,.1);--info:#2aa198;--info-bg:rgba(42,161,152,.1);--syntax-string:#2aa198;--syntax-number:#d33682;--syntax-keyword:#859900;--syntax-function:#268bd2;--syntax-comment:#93a1a1;--syntax-attr:#268bd2;--syntax-tag:#859900;--syntax-variable:#b58900}/* TOKYO NIGHT */ [data-editor-theme=tokyo-night]{--bg:#1a1b26;--bg2:#16161e;--bg3:#292e42;--surface:#3b4261;--text:#c0caf5;--muted:#7aa2f7;--dim:#565f89;--accent:#7aa2f7;--accent-bg:rgba(122,162,247,.12);--success:#9ece6a;--success-bg:rgba(158,206,106,.1);--warn:#e0af68;--warn-bg:rgba(224,175,104,.1);--danger:#f7768e;--danger-bg:rgba(247,118,142,.12);--info:#7aa2f7;--info-bg:rgba(122,162,247,.12);--syntax-string:#9ece6a;--syntax-number:#ff9e64;--syntax-keyword:#bb9af7;--syntax-function:#7aa2f7;--syntax-comment:#565f89;--syntax-attr:#7aa2f7;--syntax-tag:#f7768e;--syntax-variable:#e0af68}/* CATPPUCCIN MOCHA */ [data-editor-theme=catppuccin]{--bg:#1e1e2e;--bg2:#313244;--bg3:#45475a;--surface:#585b70;--text:#cdd6f4;--muted:#a6adc8;--dim:#6c7086;--accent:#89b4fa;--accent-bg:rgba(137,180,250,.12);--success:#a6e3a1;--success-bg:rgba(166,227,161,.1);--warn:#f9e2af;--warn-bg:rgba(249,226,175,.1);--danger:#f38ba8;--danger-bg:rgba(243,139,168,.12);--info:#89dceb;--info-bg:rgba(137,220,235,.1);--syntax-string:#a6e3a1;--syntax-number:#fab387;--syntax-keyword:#cba6f7;--syntax-function:#89b4fa;--syntax-comment:#6c7086;--syntax-attr:#89dceb;--syntax-tag:#f38ba8;--syntax-variable:#f9e2af}/* GRUVBOX DARK */ [data-editor-theme=gruvbox-dark]{--bg:#282828;--bg2:#1d2021;--bg3:#3c3836;--surface:#504945;--text:#fbf1c7;--muted:#928374;--dim:#665c54;--accent:#83a598;--accent-bg:rgba(131,165,152,.12);--success:#b8bb26;--success-bg:rgba(184,187,38,.1);--warn:#fabd2f;--warn-bg:rgba(250,189,47,.1);--danger:#fb4934;--danger-bg:rgba(251,73,52,.12);--info:#8ec07c;--info-bg:rgba(142,192,124,.1);--syntax-string:#b8bb26;--syntax-number:#d3869b;--syntax-keyword:#fb4934;--syntax-function:#8ec07c;--syntax-comment:#928374;--syntax-attr:#83a598;--syntax-tag:#fb4934;--syntax-variable:#fabd2f}/* GRUVBOX LIGHT */ [data-editor-theme=gruvbox-light]{--bg:#f9f5d5;--bg2:#fbf1c7;--bg3:#eee6d9;--surface:#d5c4a1;--text:#3c3735;--muted:#7c6f64;--dim:#928374;--accent:#076678;--accent-bg:rgba(7,102,120,.1);--success:#79740e;--success-bg:rgba(121,116,14,.1);--warn:#b57614;--warn-bg:rgba(181,118,20,.1);--danger:#9d0006;--danger-bg:rgba(157,0,6,.1);--info:#427b58;--info-bg:rgba(66,123,88,.1);--syntax-string:#79740e;--syntax-number:#8f3f71;--syntax-keyword:#9d0006;--syntax-function:#427b58;--syntax-comment:#a89984;--syntax-attr:#076678;--syntax-tag:#9d0006;--syntax-variable:#b57614}/* ONE LIGHT */ [data-editor-theme=one-light]{--bg:#fafafa;--bg2:#f0f0f0;--bg3:#e5e5e6;--surface:#d0d0d0;--text:#383a42;--muted:#696c77;--dim:#a0a1a7;--accent:#4078f2;--accent-bg:rgba(64,120,242,.1);--success:#50a14f;--success-bg:rgba(80,161,79,.1);--warn:#c18401;--warn-bg:rgba(193,132,1,.1);--danger:#e45649;--danger-bg:rgba(228,86,73,.1);--info:#0184bc;--info-bg:rgba(1,132,188,.1);--syntax-string:#50a14f;--syntax-number:#986801;--syntax-keyword:#a626a4;--syntax-function:#4078f2;--syntax-comment:#a0a1a7;--syntax-attr:#0184bc;--syntax-tag:#e45649;--syntax-variable:#c18401}/* ── §5 EDITOR UTILITY CLASSES ── */ [data-editor-theme]{background-color:var(--bg);color:var(--text);font-family:SFMono-Regular,"JetBrains Mono",Consolas,"Liberation Mono",Menlo,monospace}[data-editor-theme] code,[data-editor-theme] pre{background-color:var(--bg2);color:var(--text)}[data-editor-theme] .success{color:var(--success);background-color:var(--success-bg)}[data-editor-theme] .warn,[data-editor-theme] .warning{color:var(--warn);background-color:var(--warn-bg)}[data-editor-theme] .danger,[data-editor-theme] .error{color:var(--danger);background-color:var(--danger-bg)}[data-editor-theme] .info{color:var(--info);background-color:var(--info-bg)}[data-editor-theme] .accent{color:var(--accent);background-color:var(--accent-bg)}[data-editor-theme] .text-muted{color:var(--muted)}[data-editor-theme] .text-dim{color:var(--dim)}.str{color:var(--syntax-string)}.num{color:var(--syntax-number)}.kwd{color:var(--syntax-keyword)}.fn{color:var(--syntax-function)}.cmt{color:var(--syntax-comment);font-style:italic}.tag{color:var(--syntax-tag)}.var{color:var(--syntax-variable)}.attr{color:var(--syntax-attr)}
|