diff options
Diffstat (limited to 'web_src/js/modules/fomantic.ts')
-rw-r--r-- | web_src/js/modules/fomantic.ts | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/web_src/js/modules/fomantic.ts b/web_src/js/modules/fomantic.ts new file mode 100644 index 0000000000..d4c71ede57 --- /dev/null +++ b/web_src/js/modules/fomantic.ts @@ -0,0 +1,36 @@ +import $ from 'jquery'; +import {initFomanticApiPatch} from './fomantic/api.ts'; +import {initAriaCheckboxPatch} from './fomantic/checkbox.ts'; +import {initAriaFormFieldPatch} from './fomantic/form.ts'; +import {initAriaDropdownPatch} from './fomantic/dropdown.ts'; +import {initAriaModalPatch} from './fomantic/modal.ts'; +import {initFomanticTransition} from './fomantic/transition.ts'; +import {initFomanticDimmer} from './fomantic/dimmer.ts'; +import {svg} from '../svg.ts'; + +export const fomanticMobileScreen = window.matchMedia('only screen and (max-width: 767.98px)'); + +export function initGiteaFomantic() { + // Silence fomantic's error logging when tabs are used without a target content element + $.fn.tab.settings.silent = true; + + // By default, use "exact match" for full text search + $.fn.dropdown.settings.fullTextSearch = 'exact'; + // Do not use "cursor: pointer" for dropdown labels + $.fn.dropdown.settings.className.label += ' tw-cursor-default'; + // 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`); + }; + + initFomanticTransition(); + initFomanticDimmer(); + initFomanticApiPatch(); + + // 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(); + initAriaFormFieldPatch(); + initAriaDropdownPatch(); + initAriaModalPatch(); +} |