2023-03-26 19:31:26 +08:00
import $ from 'jquery' ;
2023-11-12 15:15:00 +08:00
import { initFomanticApiPatch } from './fomantic/api.js' ;
import { initAriaCheckboxPatch } from './fomantic/checkbox.js' ;
import { initAriaDropdownPatch } from './fomantic/dropdown.js' ;
import { initAriaModalPatch } from './fomantic/modal.js' ;
import { initFomanticTransition } from './fomantic/transition.js' ;
2023-03-26 19:31:26 +08:00
import { svg } from '../svg.js' ;
2023-06-24 03:51:43 +08:00
export const fomanticMobileScreen = window . matchMedia ( 'only screen and (max-width: 767.98px)' ) ;
2023-03-26 19:31:26 +08:00
export function initGiteaFomantic ( ) {
// Silence fomantic's error logging when tabs are used without a target content element
$ . fn . tab . settings . silent = true ;
// Disable the behavior of fomantic to toggle the checkbox when you press enter on a checkbox element.
$ . fn . checkbox . settings . enableEnterKey = false ;
// By default, use "exact match" for full text search
$ . fn . dropdown . settings . fullTextSearch = 'exact' ;
// Do not use "cursor: pointer" for dropdown labels
2024-03-04 04:33:20 +01:00
$ . fn . dropdown . settings . className . label += ' tw-cursor-default' ;
2023-03-26 19:31:26 +08:00
// Always use Gitea's SVG icons
$ . fn . dropdown . settings . templates . label = function ( _value , text , preserveHTML , className ) {
const escape = $ . fn . dropdown . settings . templates . escape ;
return escape ( text , preserveHTML ) + svg ( 'octicon-x' , 16 , ` ${ className . delete } icon ` ) ;
} ;
2023-11-12 15:15:00 +08:00
initFomanticTransition ( ) ;
2023-04-07 08:11:02 +08:00
initFomanticApiPatch ( ) ;
2023-03-26 19:31:26 +08:00
// Use the patches to improve accessibility, these patches are designed to be as independent as possible, make it easy to modify or remove in the future.
initAriaCheckboxPatch ( ) ;
initAriaDropdownPatch ( ) ;
2023-07-03 14:04:50 +08:00
initAriaModalPatch ( ) ;
2023-03-26 19:31:26 +08:00
}