UNPKG

preline

Version:

Preline UI is an open-source set of prebuilt UI components based on the utility-first Tailwind CSS framework.

677 lines (627 loc) 20.4 kB
/* * Plugin * @version: 2.5.0 * @author: Preline Labs Ltd. * @requires: tailwindcss ^3.4.1 * @license: Licensed under MIT and Preline UI Fair Use License (https://preline.co/docs/license.html) * Copyright 2024 Preline Labs Ltd. */ export type TStringFunc = () => string; export interface IModifySelectors { className: string; } export interface IAddVariantOptions { modifySelectors: (callback: (options: IModifySelectors) => string) => string; separator: string; } import plugin from 'tailwindcss/plugin'; import type { PluginAPI } from 'tailwindcss/types/config'; export default plugin(function ({ addVariant, e }: PluginAPI) { addVariant('hs-dropdown-open', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.hs-dropdown.open > .${e( `hs-dropdown-open${separator}${className}`, )}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.hs-dropdown.open .hs-dropdown-toggle .${e( `hs-dropdown-open${separator}${className}`, )}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.hs-dropdown.open > .hs-dropdown-menu > .${e( `hs-dropdown-open${separator}${className}`, )}`; }); }, ] as TStringFunc[]); addVariant('hs-removing', (({ modifySelectors, separator, }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.hs-removing.${e(`hs-removing${separator}${className}`)}`; }); }) as TStringFunc); addVariant('hs-tooltip-shown', (({ modifySelectors, separator, }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.hs-tooltip.show .${e( `hs-tooltip-shown${separator}${className}`, )}`; }); }) as TStringFunc); addVariant('hs-accordion-active', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.hs-accordion.active.${e( `hs-accordion-active${separator}${className}`, )}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.hs-accordion.active > .${e( `hs-accordion-active${separator}${className}`, )}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.hs-accordion.active > .hs-accordion-toggle .${e( `hs-accordion-active${separator}${className}`, )}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.hs-accordion.active > .hs-accordion-heading > .hs-accordion-toggle .${e( `hs-accordion-active${separator}${className}`, )}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.hs-accordion.active > .hs-accordion-toggle.${e( `hs-accordion-active${separator}${className}`, )}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.hs-accordion.active > .hs-accordion-heading > .hs-accordion-toggle.${e( `hs-accordion-active${separator}${className}`, )}`; }); }, ] as TStringFunc[]); addVariant('hs-accordion-selected', (({ modifySelectors, separator, }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.hs-accordion .selected.${e( `hs-accordion-selected${separator}${className}`, )}`; }); }) as TStringFunc); addVariant('hs-collapse-open', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.hs-collapse.open .${e( `hs-collapse-open${separator}${className}`, )}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.hs-collapse.open.${e( `hs-collapse-open${separator}${className}`, )}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.hs-collapse-toggle.open .${e( `hs-collapse-open${separator}${className}`, )}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.hs-collapse-toggle.open.${e( `hs-collapse-open${separator}${className}`, )}`; }); }, ] as TStringFunc[]); addVariant('hs-tab-active', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `[data-hs-tab].active.${e( `hs-tab-active${separator}${className}`, )}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `[data-hs-tab].active .${e( `hs-tab-active${separator}${className}`, )}`; }); }, ] as TStringFunc[]); addVariant('hs-overlay-open', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.open.${e(`hs-overlay-open${separator}${className}`)}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.open .${e(`hs-overlay-open${separator}${className}`)}`; }); }, ] as TStringFunc[]); addVariant('hs-overlay-layout-open', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.hs-overlay-body-open.${e( `hs-overlay-layout-open${separator}${className}`, )}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.hs-overlay-body-open .${e( `hs-overlay-layout-open${separator}${className}`, )}`; }); }, ] as TStringFunc[]); addVariant('hs-overlay-backdrop-open', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.hs-overlay-backdrop.${e( `hs-overlay-backdrop-open${separator}${className}`, )}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.hs-overlay-backdrop .${e( `hs-overlay-backdrop-open${separator}${className}`, )}`; }); }, ] as TStringFunc[]); addVariant('hs-scrollspy-active', (({ modifySelectors, separator, }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.active.${e(`hs-scrollspy-active${separator}${className}`)}`; }); }) as TStringFunc); addVariant('hs-carousel-active', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.active.${e(`hs-carousel-active${separator}${className}`)}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.active .${e(`hs-carousel-active${separator}${className}`)}`; }); }, ] as TStringFunc[]); addVariant('hs-carousel-disabled', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.disabled.${e( `hs-carousel-disabled${separator}${className}`, )}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.disabled .${e( `hs-carousel-disabled${separator}${className}`, )}`; }); }, ] as TStringFunc[]); addVariant('hs-carousel-dragging', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.dragging.${e( `hs-carousel-dragging${separator}${className}`, )}`; }); }, ({ modifySelectors, separator }) => { modifySelectors(({ className }) => { return `.dragging .${e( `hs-carousel-dragging${separator}${className}`, )}`; }); }, ] as TStringFunc[]); addVariant('hs-selected', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.selected.${e(`hs-selected${separator}${className}`)}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.selected .${e(`hs-selected${separator}${className}`)}`; }); }, ] as TStringFunc[]); addVariant('hs-select-disabled', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.disabled.${e(`hs-select-disabled${separator}${className}`)}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.disabled .${e(`hs-select-disabled${separator}${className}`)}`; }); }, ] as TStringFunc[]); addVariant('hs-select-active', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.active.${e(`hs-select-active${separator}${className}`)}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.active .${e(`hs-select-active${separator}${className}`)}`; }); }, ] as TStringFunc[]); addVariant('hs-input-number-disabled', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.disabled.${e( `hs-input-number-disabled${separator}${className}`, )}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.disabled .${e( `hs-input-number-disabled${separator}${className}`, )}`; }); }, ] as TStringFunc[]); addVariant('hs-pin-input-active', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.active.${e(`hs-pin-input-active${separator}${className}`)}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.active .${e(`hs-pin-input-active${separator}${className}`)}`; }); }, ] as TStringFunc[]); addVariant('hs-select-opened', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.opened.${e(`hs-select-opened${separator}${className}`)}`; }); }, ] as TStringFunc[]); addVariant('hs-password-active', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.active.${e(`hs-password-active${separator}${className}`)}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.active .${e(`hs-password-active${separator}${className}`)}`; }); }, ] as TStringFunc[]); addVariant('hs-stepper-active', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.active.${e(`hs-stepper-active${separator}${className}`)}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.active .${e(`hs-stepper-active${separator}${className}`)}`; }); }, ] as TStringFunc[]); addVariant('hs-stepper-success', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.success.${e(`hs-stepper-success${separator}${className}`)}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.success .${e(`hs-stepper-success${separator}${className}`)}`; }); }, ] as TStringFunc[]); addVariant('hs-stepper-completed', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.completed.${e( `hs-stepper-completed${separator}${className}`, )}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.completed .${e( `hs-stepper-completed${separator}${className}`, )}`; }); }, ] as TStringFunc[]); addVariant('hs-stepper-error', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.error.${e(`hs-stepper-error${separator}${className}`)}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.error .${e(`hs-stepper-error${separator}${className}`)}`; }); }, ] as TStringFunc[]); addVariant('hs-stepper-processed', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.processed.${e( `hs-stepper-processed${separator}${className}`, )}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.processed .${e( `hs-stepper-processed${separator}${className}`, )}`; }); }, ] as TStringFunc[]); addVariant('hs-stepper-disabled', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.disabled.${e(`hs-stepper-disabled${separator}${className}`)}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.disabled .${e(`hs-stepper-disabled${separator}${className}`)}`; }); }, ] as TStringFunc[]); addVariant('hs-stepper-skipped', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.skipped.${e(`hs-stepper-skipped${separator}${className}`)}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.skipped .${e(`hs-stepper-skipped${separator}${className}`)}`; }); }, ] as TStringFunc[]); addVariant('hs-strong-password', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.passed.${e(`hs-strong-password${separator}${className}`)}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.passed .${e(`hs-strong-password${separator}${className}`)}`; }); }, ] as TStringFunc[]); addVariant('hs-strong-password-accepted', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.accepted.${e( `hs-strong-password-accepted${separator}${className}`, )}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.accepted .${e( `hs-strong-password-accepted${separator}${className}`, )}`; }); }, ] as TStringFunc[]); addVariant('hs-strong-password-active', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.active.${e( `hs-strong-password-active${separator}${className}`, )}`; }); }, ] as TStringFunc[]); addVariant('hs-combo-box-active', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.active .${e(`hs-combo-box-active${separator}${className}`)}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.active.${e(`hs-combo-box-active${separator}${className}`)}`; }); }, ] as TStringFunc[]); addVariant('hs-combo-box-has-value', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.has-value .${e(`hs-combo-box-has-value${separator}${className}`)}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.has-value.${e(`hs-combo-box-has-value${separator}${className}`)}`; }); }, ] as TStringFunc[]); addVariant('hs-combo-box-selected', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.selected .${e( `hs-combo-box-selected${separator}${className}`, )}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.selected.${e( `hs-combo-box-selected${separator}${className}`, )}`; }); }, ] as TStringFunc[]); addVariant('hs-combo-box-tab-active', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.active.${e( `hs-combo-box-tab-active${separator}${className}`, )}`; }); }, ] as TStringFunc[]); addVariant('hs-apexcharts-tooltip-dark', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.dark.${e( `hs-apexcharts-tooltip-dark${separator}${className}`, )}`; }); }, ] as TStringFunc[]); addVariant('hs-success', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.success .${e(`hs-success${separator}${className}`)}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.success.${e(`hs-success${separator}${className}`)}`; }); }, ] as TStringFunc[]); addVariant('hs-error', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.error .${e(`hs-error${separator}${className}`)}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.error.${e(`hs-error${separator}${className}`)}`; }); }, ] as TStringFunc[]); // Datatables.net addVariant('hs-datatable-ordering-asc', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.dt-ordering-asc .${e(`hs-datatable-ordering-asc${separator}${className}`)}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.dt-ordering-asc.${e(`hs-datatable-ordering-asc${separator}${className}`)}`; }); }, ] as TStringFunc[]); addVariant('hs-datatable-ordering-desc', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.dt-ordering-desc .${e(`hs-datatable-ordering-desc${separator}${className}`)}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.dt-ordering-desc.${e(`hs-datatable-ordering-desc${separator}${className}`)}`; }); }, ] as TStringFunc[]); // noUiSlider addVariant('hs-range-slider-disabled', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.disabled .${e(`hs-range-slider-disabled${separator}${className}`)}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.disabled.${e(`hs-range-slider-disabled${separator}${className}`)}`; }); }, ] as TStringFunc[]); // Dropzone addVariant('hs-file-upload-complete', [ ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.complete .${e(`hs-file-upload-complete${separator}${className}`)}`; }); }, ({ modifySelectors, separator }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.complete.${e(`hs-file-upload-complete${separator}${className}`)}`; }); }, ] as TStringFunc[]); // Modes addVariant('hs-default-mode-active', (({ modifySelectors, separator, }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.default .${e(`hs-default-mode-active${separator}${className}`)}`; }); }) as TStringFunc); addVariant('hs-dark-mode-active', (({ modifySelectors, separator, }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.dark .${e(`hs-dark-mode-active${separator}${className}`)}`; }); }) as TStringFunc); addVariant('hs-auto-mode-active', (({ modifySelectors, separator, }: IAddVariantOptions) => { modifySelectors(({ className }) => { return `.auto .${e(`hs-auto-mode-active${separator}${className}`)}`; }); }) as TStringFunc); });