fomantic-ui 2.9.0-beta.98 → 2.9.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/.all-contributorsrc +86 -1
- package/.github/codeql/codeql-config.yml +4 -0
- package/.github/dependabot.yml +10 -0
- package/.github/workflows/ci.yml +10 -6
- package/.github/workflows/codeql.yml +68 -0
- package/.github/workflows/nightly.yml +16 -8
- package/.github/workflows/release.yml +34 -0
- package/CHANGELOG.md +925 -650
- package/CONTRIBUTORS.md +16 -1
- package/FAQ.md +38 -38
- package/README.md +7 -7
- package/dist/components/accordion.css +136 -40
- package/dist/components/accordion.js +10 -4
- package/dist/components/accordion.min.css +2 -2
- package/dist/components/accordion.min.js +3 -3
- package/dist/components/ad.css +4 -4
- package/dist/components/ad.min.css +2 -2
- package/dist/components/api.js +82 -25
- package/dist/components/api.min.js +3 -3
- package/dist/components/breadcrumb.css +1 -1
- package/dist/components/breadcrumb.min.css +1 -1
- package/dist/components/button.css +124 -77
- package/dist/components/button.min.css +2 -2
- package/dist/components/calendar.css +18 -1
- package/dist/components/calendar.js +92 -73
- package/dist/components/calendar.min.css +2 -2
- package/dist/components/calendar.min.js +3 -3
- package/dist/components/card.css +729 -99
- package/dist/components/card.min.css +2 -2
- package/dist/components/checkbox.css +92 -92
- package/dist/components/checkbox.js +4 -3
- package/dist/components/checkbox.min.css +2 -2
- package/dist/components/checkbox.min.js +3 -3
- package/dist/components/comment.css +2 -2
- package/dist/components/comment.min.css +2 -2
- package/dist/components/container.css +98 -4
- package/dist/components/container.min.css +2 -2
- package/dist/components/dimmer.css +7 -6
- package/dist/components/dimmer.js +19 -10
- package/dist/components/dimmer.min.css +2 -2
- package/dist/components/dimmer.min.js +3 -3
- package/dist/components/divider.css +31 -31
- package/dist/components/divider.min.css +2 -2
- package/dist/components/dropdown.css +74 -47
- package/dist/components/dropdown.js +237 -188
- package/dist/components/dropdown.min.css +2 -2
- package/dist/components/dropdown.min.js +3 -3
- package/dist/components/embed.css +5 -5
- package/dist/components/embed.js +14 -10
- package/dist/components/embed.min.css +2 -2
- package/dist/components/embed.min.js +3 -3
- package/dist/components/emoji.css +10797 -8839
- package/dist/components/emoji.min.css +1 -1
- package/dist/components/feed.css +2 -2
- package/dist/components/feed.min.css +2 -2
- package/dist/components/flag.css +563 -563
- package/dist/components/flag.min.css +2 -2
- package/dist/components/flyout.css +592 -0
- package/dist/components/flyout.js +1530 -0
- package/dist/components/flyout.min.css +9 -0
- package/dist/components/flyout.min.js +11 -0
- package/dist/components/form.css +67 -39
- package/dist/components/form.js +25 -21
- package/dist/components/form.min.css +2 -2
- package/dist/components/form.min.js +3 -3
- package/dist/components/grid.css +15 -14
- package/dist/components/grid.min.css +2 -2
- package/dist/components/header.css +6 -4
- package/dist/components/header.min.css +2 -2
- package/dist/components/icon.css +2105 -2061
- package/dist/components/icon.min.css +2 -2
- package/dist/components/image.css +1 -1
- package/dist/components/image.min.css +1 -1
- package/dist/components/input.css +743 -21
- package/dist/components/input.min.css +2 -2
- package/dist/components/item.css +5 -5
- package/dist/components/item.min.css +2 -2
- package/dist/components/label.css +72 -68
- package/dist/components/label.min.css +2 -2
- package/dist/components/list.css +31 -31
- package/dist/components/list.min.css +2 -2
- package/dist/components/loader.css +352 -352
- package/dist/components/loader.min.css +2 -2
- package/dist/components/menu.css +79 -71
- package/dist/components/menu.min.css +1 -1
- package/dist/components/message.css +3 -3
- package/dist/components/message.min.css +2 -2
- package/dist/components/modal.css +35 -6
- package/dist/components/modal.js +97 -57
- package/dist/components/modal.min.css +2 -2
- package/dist/components/modal.min.js +3 -3
- package/dist/components/nag.css +1 -1
- package/dist/components/nag.js +3 -3
- package/dist/components/nag.min.css +1 -1
- package/dist/components/nag.min.js +3 -3
- package/dist/components/placeholder.css +33 -33
- package/dist/components/placeholder.min.css +2 -2
- package/dist/components/popup.css +100 -104
- package/dist/components/popup.js +17 -23
- package/dist/components/popup.min.css +2 -2
- package/dist/components/popup.min.js +3 -3
- package/dist/components/progress.css +1 -1
- package/dist/components/progress.js +6 -3
- package/dist/components/progress.min.css +1 -1
- package/dist/components/progress.min.js +3 -3
- package/dist/components/rail.css +1 -1
- package/dist/components/rail.min.css +1 -1
- package/dist/components/rating.css +1 -1
- package/dist/components/rating.js +8 -4
- package/dist/components/rating.min.css +1 -1
- package/dist/components/rating.min.js +3 -3
- package/dist/components/reset.css +5 -4
- package/dist/components/reset.min.css +2 -2
- package/dist/components/reveal.css +1 -1
- package/dist/components/reveal.min.css +1 -1
- package/dist/components/search.css +6 -6
- package/dist/components/search.js +48 -21
- package/dist/components/search.min.css +2 -2
- package/dist/components/search.min.js +3 -3
- package/dist/components/segment.css +107 -29
- package/dist/components/segment.min.css +2 -2
- package/dist/components/shape.css +1 -1
- package/dist/components/shape.js +4 -4
- package/dist/components/shape.min.css +1 -1
- package/dist/components/shape.min.js +3 -3
- package/dist/components/sidebar.css +20 -8
- package/dist/components/sidebar.js +141 -44
- package/dist/components/sidebar.min.css +2 -2
- package/dist/components/sidebar.min.js +3 -3
- package/dist/components/site.css +79 -4
- package/dist/components/site.js +2 -2
- package/dist/components/site.min.css +2 -2
- package/dist/components/site.min.js +3 -3
- package/dist/components/slider.css +17 -17
- package/dist/components/slider.js +79 -64
- package/dist/components/slider.min.css +1 -1
- package/dist/components/slider.min.js +3 -3
- package/dist/components/state.js +3 -3
- package/dist/components/state.min.js +3 -3
- package/dist/components/statistic.css +4 -4
- package/dist/components/statistic.min.css +2 -2
- package/dist/components/step.css +30 -30
- package/dist/components/step.min.css +2 -2
- package/dist/components/sticky.css +1 -1
- package/dist/components/sticky.js +30 -19
- package/dist/components/sticky.min.css +1 -1
- package/dist/components/sticky.min.js +3 -3
- package/dist/components/tab.css +5 -5
- package/dist/components/tab.js +25 -7
- package/dist/components/tab.min.css +2 -2
- package/dist/components/tab.min.js +3 -3
- package/dist/components/table.css +1680 -270
- package/dist/components/table.min.css +2 -2
- package/dist/components/text.css +1 -1
- package/dist/components/text.min.css +1 -1
- package/dist/components/toast.css +11 -1
- package/dist/components/toast.js +19 -12
- package/dist/components/toast.min.css +2 -2
- package/dist/components/toast.min.js +3 -3
- package/dist/components/transition.css +1 -1
- package/dist/components/transition.js +27 -22
- package/dist/components/transition.min.css +1 -1
- package/dist/components/transition.min.js +3 -3
- package/dist/components/visibility.js +5 -5
- package/dist/components/visibility.min.js +3 -3
- package/dist/semantic.css +41415 -34430
- package/dist/semantic.js +2597 -696
- package/dist/semantic.min.css +3 -3
- package/dist/semantic.min.js +3 -3
- package/dist/themes/default/assets/fonts/Lato-Bold.woff +0 -0
- package/dist/themes/default/assets/fonts/Lato-Bold.woff2 +0 -0
- package/dist/themes/default/assets/fonts/Lato-BoldItalic.woff +0 -0
- package/dist/themes/default/assets/fonts/Lato-BoldItalic.woff2 +0 -0
- package/dist/themes/default/assets/fonts/Lato-Italic.woff +0 -0
- package/dist/themes/default/assets/fonts/Lato-Italic.woff2 +0 -0
- package/dist/themes/default/assets/fonts/Lato-Regular.woff +0 -0
- package/dist/themes/default/assets/fonts/Lato-Regular.woff2 +0 -0
- package/dist/themes/default/assets/fonts/LatoLatin-Bold.woff +0 -0
- package/dist/themes/default/assets/fonts/LatoLatin-Bold.woff2 +0 -0
- package/dist/themes/default/assets/fonts/LatoLatin-BoldItalic.woff +0 -0
- package/dist/themes/default/assets/fonts/LatoLatin-BoldItalic.woff2 +0 -0
- package/dist/themes/default/assets/fonts/LatoLatin-Italic.woff +0 -0
- package/dist/themes/default/assets/fonts/LatoLatin-Italic.woff2 +0 -0
- package/dist/themes/default/assets/fonts/LatoLatin-Regular.woff +0 -0
- package/dist/themes/default/assets/fonts/LatoLatin-Regular.woff2 +0 -0
- package/dist/themes/default/assets/fonts/brand-icons.woff +0 -0
- package/dist/themes/default/assets/fonts/brand-icons.woff2 +0 -0
- package/dist/themes/default/assets/fonts/icons.woff +0 -0
- package/dist/themes/default/assets/fonts/icons.woff2 +0 -0
- package/dist/themes/default/assets/fonts/outline-icons.woff +0 -0
- package/dist/themes/default/assets/fonts/outline-icons.woff2 +0 -0
- package/dist/themes/{default → famfamfam}/assets/images/flags.png +0 -0
- package/examples/assets/library/iframe-content.js +3 -3
- package/examples/assets/library/iframe.js +3 -3
- package/examples/components/button.html +1 -1
- package/examples/components/card.html +1 -1
- package/examples/components/input.html +1 -1
- package/examples/components/menu.html +1 -1
- package/examples/components/site.html +1 -1
- package/examples/components/sticky-context.html +197 -0
- package/examples/components/table.html +1 -1
- package/package.json +20 -18
- package/scripts/nightly-version.js +47 -38
- package/src/definitions/behaviors/api.js +81 -24
- package/src/definitions/behaviors/form.js +24 -20
- package/src/definitions/behaviors/state.js +2 -2
- package/src/definitions/behaviors/visibility.js +4 -4
- package/src/definitions/collections/form.less +43 -31
- package/src/definitions/collections/grid.less +11 -11
- package/src/definitions/collections/menu.less +62 -47
- package/src/definitions/collections/message.less +1 -1
- package/src/definitions/collections/table.less +636 -39
- package/src/definitions/elements/button.less +254 -125
- package/src/definitions/elements/container.less +129 -0
- package/src/definitions/elements/divider.less +24 -24
- package/src/definitions/elements/emoji.less +25 -2
- package/src/definitions/elements/flag.less +47 -1
- package/src/definitions/elements/header.less +4 -2
- package/src/definitions/elements/icon.less +91 -12
- package/src/definitions/elements/input.less +259 -27
- package/src/definitions/elements/label.less +42 -39
- package/src/definitions/elements/list.less +29 -30
- package/src/definitions/elements/loader.less +87 -87
- package/src/definitions/elements/placeholder.less +32 -32
- package/src/definitions/elements/segment.less +147 -34
- package/src/definitions/elements/step.less +25 -25
- package/src/definitions/globals/reset.less +2 -2
- package/src/definitions/globals/site.js +1 -1
- package/src/definitions/globals/site.less +14 -12
- package/src/definitions/modules/accordion.js +9 -3
- package/src/definitions/modules/accordion.less +371 -269
- package/src/definitions/modules/calendar.js +91 -72
- package/src/definitions/modules/calendar.less +20 -0
- package/src/definitions/modules/checkbox.js +3 -2
- package/src/definitions/modules/checkbox.less +53 -53
- package/src/definitions/modules/dimmer.js +18 -9
- package/src/definitions/modules/dimmer.less +11 -10
- package/src/definitions/modules/dropdown.js +236 -187
- package/src/definitions/modules/dropdown.less +110 -77
- package/src/definitions/modules/embed.js +13 -9
- package/src/definitions/modules/embed.less +4 -4
- package/src/definitions/modules/flyout.js +1530 -0
- package/src/definitions/modules/flyout.less +650 -0
- package/src/definitions/modules/modal.js +96 -56
- package/src/definitions/modules/modal.less +68 -33
- package/src/definitions/modules/nag.js +2 -2
- package/src/definitions/modules/popup.js +16 -22
- package/src/definitions/modules/popup.less +86 -90
- package/src/definitions/modules/progress.js +5 -2
- package/src/definitions/modules/rating.js +7 -3
- package/src/definitions/modules/search.js +47 -20
- package/src/definitions/modules/search.less +3 -3
- package/src/definitions/modules/shape.js +3 -3
- package/src/definitions/modules/sidebar.js +140 -43
- package/src/definitions/modules/sidebar.less +20 -5
- package/src/definitions/modules/slider.js +78 -63
- package/src/definitions/modules/slider.less +9 -9
- package/src/definitions/modules/sticky.js +29 -18
- package/src/definitions/modules/sticky.less +3 -1
- package/src/definitions/modules/tab.js +24 -6
- package/src/definitions/modules/tab.less +4 -4
- package/src/definitions/modules/toast.js +18 -11
- package/src/definitions/modules/toast.less +6 -0
- package/src/definitions/modules/transition.js +26 -21
- package/src/definitions/views/ad.less +3 -3
- package/src/definitions/views/card.less +124 -18
- package/src/definitions/views/comment.less +1 -1
- package/src/definitions/views/feed.less +1 -1
- package/src/definitions/views/item.less +3 -3
- package/src/definitions/views/statistic.less +1 -1
- package/src/semantic.less +1 -0
- package/src/theme.config.example +1 -0
- package/src/theme.less +13 -2
- package/src/themes/amazon/globals/site.variables +1 -0
- package/src/themes/basic/elements/icon.overrides +149 -149
- package/src/themes/basic/elements/icon.variables +16 -6
- package/src/themes/basic/elements/step.overrides +2 -2
- package/src/themes/bookish/elements/header.overrides +1 -1
- package/src/themes/chubby/elements/button.overrides +1 -1
- package/src/themes/chubby/elements/header.overrides +1 -1
- package/src/themes/default/assets/fonts/Lato-Bold.woff +0 -0
- package/src/themes/default/assets/fonts/Lato-Bold.woff2 +0 -0
- package/src/themes/default/assets/fonts/Lato-BoldItalic.woff +0 -0
- package/src/themes/default/assets/fonts/Lato-BoldItalic.woff2 +0 -0
- package/src/themes/default/assets/fonts/Lato-Italic.woff +0 -0
- package/src/themes/default/assets/fonts/Lato-Italic.woff2 +0 -0
- package/src/themes/default/assets/fonts/Lato-Regular.woff +0 -0
- package/src/themes/default/assets/fonts/Lato-Regular.woff2 +0 -0
- package/src/themes/default/assets/fonts/LatoLatin-Bold.woff +0 -0
- package/src/themes/default/assets/fonts/LatoLatin-Bold.woff2 +0 -0
- package/src/themes/default/assets/fonts/LatoLatin-BoldItalic.woff +0 -0
- package/src/themes/default/assets/fonts/LatoLatin-BoldItalic.woff2 +0 -0
- package/src/themes/default/assets/fonts/LatoLatin-Italic.woff +0 -0
- package/src/themes/default/assets/fonts/LatoLatin-Italic.woff2 +0 -0
- package/src/themes/default/assets/fonts/LatoLatin-Regular.woff +0 -0
- package/src/themes/default/assets/fonts/LatoLatin-Regular.woff2 +0 -0
- package/src/themes/default/assets/fonts/brand-icons.woff +0 -0
- package/src/themes/default/assets/fonts/brand-icons.woff2 +0 -0
- package/src/themes/default/assets/fonts/icons.woff +0 -0
- package/src/themes/default/assets/fonts/icons.woff2 +0 -0
- package/src/themes/default/assets/fonts/outline-icons.woff +0 -0
- package/src/themes/default/assets/fonts/outline-icons.woff2 +0 -0
- package/src/themes/default/collections/form.variables +4 -0
- package/src/themes/default/collections/table.variables +52 -0
- package/src/themes/default/elements/button.variables +5 -0
- package/src/themes/default/elements/container.variables +12 -0
- package/src/themes/default/elements/divider.overrides +7 -7
- package/src/themes/default/elements/emoji.overrides +0 -3090
- package/src/themes/default/elements/emoji.variables +3563 -1
- package/src/themes/default/elements/flag.overrides +0 -1640
- package/src/themes/default/elements/flag.variables +1597 -1
- package/src/themes/default/elements/icon.overrides +1 -2043
- package/src/themes/default/elements/icon.variables +2045 -30
- package/src/themes/default/elements/input.variables +15 -0
- package/src/themes/default/elements/segment.variables +8 -0
- package/src/themes/default/elements/step.overrides +4 -7
- package/src/themes/default/globals/site.variables +103 -8
- package/src/themes/default/globals/variation.variables +59 -0
- package/src/themes/default/modules/accordion.overrides +7 -9
- package/src/themes/default/modules/accordion.variables +34 -2
- package/src/themes/default/modules/calendar.variables +3 -0
- package/src/themes/default/modules/checkbox.overrides +10 -12
- package/src/themes/default/modules/checkbox.variables +5 -5
- package/src/themes/default/modules/dropdown.overrides +6 -9
- package/src/themes/default/modules/dropdown.variables +6 -9
- package/src/themes/default/modules/flyout.overrides +3 -0
- package/src/themes/default/modules/flyout.variables +100 -0
- package/src/themes/default/modules/modal.variables +16 -2
- package/src/themes/default/modules/popup.variables +0 -2
- package/src/themes/default/modules/sidebar.variables +4 -1
- package/src/themes/default/views/card.variables +8 -0
- package/src/themes/{default → famfamfam}/assets/images/flags.png +0 -0
- package/src/themes/famfamfam/elements/flag.overrides +496 -496
- package/src/themes/famfamfam/elements/flag.variables +8 -1
- package/src/themes/github/elements/icon.overrides +206 -206
- package/src/themes/github/elements/icon.variables +16 -1
- package/src/themes/github/elements/step.overrides +5 -5
- package/src/themes/github/globals/site.variables +1 -0
- package/src/themes/github/modules/dropdown.overrides +7 -10
- package/src/themes/instagram/views/card.overrides +1 -1
- package/src/themes/joypixels/elements/emoji.overrides +0 -3089
- package/src/themes/joypixels/elements/emoji.variables +3562 -5
- package/src/themes/material/collections/menu.overrides +1 -1
- package/src/themes/material/elements/button.overrides +1 -1
- package/src/themes/material/elements/header.overrides +1 -1
- package/src/themes/material/elements/icon.overrides +932 -932
- package/src/themes/material/elements/icon.variables +17 -0
- package/src/themes/material/globals/site.variables +0 -1
- package/src/themes/material/modules/dropdown.overrides +1 -1
- package/src/themes/material/modules/modal.overrides +1 -1
- package/src/themes/pulsar/elements/loader.overrides +2 -2
- package/src/themes/resetcss/globals/reset.overrides +3 -3
- package/src/themes/rtl/globals/site.overrides +1 -1
- package/src/themes/striped/modules/progress.overrides +1 -1
- package/src/themes/systemfont/globals/reset.overrides +8 -0
- package/src/themes/systemfont/globals/site.variables +10 -0
- package/src/themes/twitter/elements/emoji.overrides +0 -3091
- package/src/themes/twitter/elements/emoji.variables +3558 -6
- package/tasks/admin/distributions/create.js +1 -1
- package/tasks/admin/publish.js +1 -1
- package/tasks/admin/release.js +1 -1
- package/tasks/build/assets.js +1 -1
- package/tasks/build/css.js +3 -3
- package/tasks/build/javascript.js +3 -3
- package/tasks/check-install.js +1 -1
- package/tasks/clean.js +1 -1
- package/tasks/collections/README.md +1 -1
- package/tasks/collections/admin.js +1 -1
- package/tasks/config/admin/oauth.example.js +1 -1
- package/tasks/config/admin/release.js +1 -0
- package/tasks/config/admin/templates/composer.json +1 -1
- package/tasks/config/admin/templates/css-package.js +8 -12
- package/tasks/config/admin/templates/less-package.js +2 -2
- package/tasks/config/defaults.js +1 -0
- package/tasks/config/project/install.js +16 -13
- package/tasks/install.js +1 -0
- package/tasks/rtl/watch.js +1 -1
- package/tasks/version.js +1 -1
- package/test/fixtures/accordion.html +1 -1
- package/test/fixtures/checkbox.html +1 -1
- package/test/fixtures/dropdown.html +1 -1
- package/test/fixtures/modal.html +1 -1
- package/test/fixtures/popup.html +1 -1
- package/test/fixtures/rating.html +1 -1
- package/test/fixtures/shape.html +1 -1
- package/test/fixtures/sidebar.html +1 -1
- package/test/fixtures/tab.html +1 -1
- package/test/fixtures/transition.html +1 -1
- package/test/fixtures/video.html +1 -1
- package/test/helpers/jasmine-jquery.js +2 -2
- package/test/helpers/jasmine-sinon.js +1 -1
- package/test/helpers/jquery-events.js +1 -1
- package/test/helpers/sinon.js +2 -2
- package/test/meteor/fonts.js +1 -1
- package/test/modules/accordion.spec.js +1 -1
- package/test/modules/checkbox.spec.js +1 -1
- package/test/modules/dropdown.spec.js +1 -1
- package/test/modules/modal.spec.js +1 -1
- package/test/modules/module.spec.js +1 -1
- package/test/modules/popup.spec.js +1 -1
- package/test/modules/search.spec.js +1 -1
- package/test/modules/shape.spec.js +1 -1
- package/test/modules/sidebar.spec.js +1 -1
- package/test/modules/tab.spec.js +1 -1
- package/test/modules/transition.spec.js +1 -1
- package/test/modules/video.spec.js +1 -1
- package/dist/themes/basic/assets/fonts/icons.eot +0 -0
- package/dist/themes/basic/assets/fonts/icons.svg +0 -450
- package/dist/themes/basic/assets/fonts/icons.ttf +0 -0
- package/dist/themes/default/assets/fonts/brand-icons.eot +0 -0
- package/dist/themes/default/assets/fonts/brand-icons.svg +0 -3570
- package/dist/themes/default/assets/fonts/brand-icons.ttf +0 -0
- package/dist/themes/default/assets/fonts/icons.eot +0 -0
- package/dist/themes/default/assets/fonts/icons.svg +0 -4938
- package/dist/themes/default/assets/fonts/icons.ttf +0 -0
- package/dist/themes/default/assets/fonts/outline-icons.eot +0 -0
- package/dist/themes/default/assets/fonts/outline-icons.svg +0 -803
- package/dist/themes/default/assets/fonts/outline-icons.ttf +0 -0
- package/dist/themes/github/assets/fonts/octicons-local.ttf +0 -0
- package/dist/themes/github/assets/fonts/octicons.svg +0 -200
- package/dist/themes/github/assets/fonts/octicons.ttf +0 -0
- package/dist/themes/material/assets/fonts/icons.eot +0 -0
- package/dist/themes/material/assets/fonts/icons.svg +0 -2373
- package/dist/themes/material/assets/fonts/icons.ttf +0 -0
- package/src/themes/basic/assets/fonts/icons.eot +0 -0
- package/src/themes/basic/assets/fonts/icons.svg +0 -450
- package/src/themes/basic/assets/fonts/icons.ttf +0 -0
- package/src/themes/default/assets/fonts/brand-icons.eot +0 -0
- package/src/themes/default/assets/fonts/brand-icons.svg +0 -3570
- package/src/themes/default/assets/fonts/brand-icons.ttf +0 -0
- package/src/themes/default/assets/fonts/icons.eot +0 -0
- package/src/themes/default/assets/fonts/icons.svg +0 -4938
- package/src/themes/default/assets/fonts/icons.ttf +0 -0
- package/src/themes/default/assets/fonts/outline-icons.eot +0 -0
- package/src/themes/default/assets/fonts/outline-icons.svg +0 -803
- package/src/themes/default/assets/fonts/outline-icons.ttf +0 -0
- package/src/themes/github/assets/fonts/octicons-local.ttf +0 -0
- package/src/themes/github/assets/fonts/octicons.svg +0 -200
- package/src/themes/github/assets/fonts/octicons.ttf +0 -0
- package/src/themes/material/assets/fonts/icons.eot +0 -0
- package/src/themes/material/assets/fonts/icons.svg +0 -2373
- package/src/themes/material/assets/fonts/icons.ttf +0 -0
@@ -1,11 +1,11 @@
|
|
1
1
|
/*
|
2
|
-
* # Fomantic UI - 2.9.0
|
2
|
+
* # Fomantic UI - 2.9.0
|
3
3
|
* https://github.com/fomantic/Fomantic-UI
|
4
4
|
* http://fomantic-ui.com/
|
5
5
|
*
|
6
|
-
* Copyright
|
6
|
+
* Copyright 2022 Contributors
|
7
7
|
* Released under the MIT license
|
8
8
|
* http://opensource.org/licenses/MIT
|
9
9
|
*
|
10
10
|
*/
|
11
|
-
!function(T,k,
|
11
|
+
!function(T,k,F){"use strict";T.isFunction=T.isFunction||function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},k=void 0!==k&&k.Math==Math?k:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")(),T.fn.accordion=function(m){var h,v=T(this),b=(new Date).getTime(),y=[],C=m,O="string"==typeof C,x=[].slice.call(arguments,1);return v.each(function(){var e,s=T.isPlainObject(m)?T.extend(!0,{},T.fn.accordion.settings,m):T.extend({},T.fn.accordion.settings),a=s.className,n=s.namespace,l=s.selector,r=s.error,t="."+n,i="module-"+n,o=v.selector||"",c=T(this),d=c.find(l.title),u=c.find(l.content),g=this,f=c.data(i),p={initialize:function(){p.debug("Initializing",c),p.bind.events(),s.observeChanges&&p.observeChanges(),p.instantiate()},instantiate:function(){f=p,c.data(i,p)},destroy:function(){p.debug("Destroying previous instance",c),c.off(t).removeData(i)},refresh:function(){d=c.find(l.title),u=c.find(l.content)},observeChanges:function(){"MutationObserver"in k&&((e=new MutationObserver(function(e){p.debug("DOM tree modified, updating selector cache"),p.refresh()})).observe(g,{childList:!0,subtree:!0}),p.debug("Setting up mutation observer",e))},bind:{events:function(){p.debug("Binding delegated events"),c.on(s.on+t,l.trigger,p.event.click)}},event:{click:function(e){0===T(e.target).closest(l.ignore).length&&p.toggle.call(this)}},toggle:function(e){var e=e!==F?"number"==typeof e?d.eq(e):T(e).closest(l.title):T(this).closest(l.title),n=e.next(u),t=n.hasClass(a.animating),n=n.hasClass(a.active),i=n&&!t,n=!n&&t;p.debug("Toggling visibility of content",e),i||n?s.collapsible?p.close.call(e):p.debug("Cannot close accordion content collapsing is disabled"):p.open.call(e)},open:function(e){var e=e!==F?"number"==typeof e?d.eq(e):T(e).closest(l.title):T(this).closest(l.title),n=e.next(u),t=n.hasClass(a.animating);n.hasClass(a.active)||t?p.debug("Accordion already open, skipping",n):(p.debug("Opening accordion content",e),s.onOpening.call(n),s.onChanging.call(n),s.exclusive&&p.closeOthers.call(e),e.addClass(a.active),n.stop(!0,!0).addClass(a.animating),s.animateChildren&&(T.fn.transition!==F&&c.transition("is supported")?n.children().transition({animation:"fade in",queue:!1,useFailSafe:!0,debug:s.debug,verbose:s.verbose,silent:s.silent,duration:s.duration,skipInlineHidden:!0,onComplete:function(){n.children().removeClass(a.transition)}}):n.children().stop(!0,!0).animate({opacity:1},s.duration,p.resetOpacity)),n.slideDown(s.duration,s.easing,function(){n.removeClass(a.animating).addClass(a.active),p.reset.display.call(this),s.onOpen.call(this),s.onChange.call(this)}))},close:function(e){var e=e!==F?"number"==typeof e?d.eq(e):T(e).closest(l.title):T(this).closest(l.title),n=e.next(u),t=n.hasClass(a.animating),i=n.hasClass(a.active);!i&&!(!i&&t)||i&&t||(p.debug("Closing accordion content",n),s.onClosing.call(n),s.onChanging.call(n),e.removeClass(a.active),n.stop(!0,!0).addClass(a.animating),s.animateChildren&&(T.fn.transition!==F&&c.transition("is supported")?n.children().transition({animation:"fade out",queue:!1,useFailSafe:!0,debug:s.debug,verbose:s.verbose,silent:s.silent,duration:s.duration,skipInlineHidden:!0}):n.children().stop(!0,!0).animate({opacity:0},s.duration,p.resetOpacity)),n.slideUp(s.duration,s.easing,function(){n.removeClass(a.animating).removeClass(a.active),p.reset.display.call(this),s.onClose.call(this),s.onChange.call(this)}))},closeOthers:function(e){var n,e=e!==F?d.eq(e):T(this).closest(l.title),t=e.parents(l.content).prev(l.title),e=e.closest(l.accordion),i=l.title+"."+a.active+":visible",o=l.content+"."+a.active+":visible",o=s.closeNested?(n=e.find(i).not(t)).next(u):(n=e.find(i).not(t),e=e.find(o).find(i).not(t),(n=n.not(e)).next(u));0<n.length&&(p.debug("Exclusive enabled, closing other content",n),n.removeClass(a.active),o.removeClass(a.animating).stop(!0,!0),s.animateChildren&&(T.fn.transition!==F&&c.transition("is supported")?o.children().transition({animation:"fade out",useFailSafe:!0,debug:s.debug,verbose:s.verbose,silent:s.silent,duration:s.duration,skipInlineHidden:!0}):o.children().stop(!0,!0).animate({opacity:0},s.duration,p.resetOpacity)),o.slideUp(s.duration,s.easing,function(){T(this).removeClass(a.active),p.reset.display.call(this)}))},reset:{display:function(){p.verbose("Removing inline display from element",this),T(this).css("display",""),""===T(this).attr("style")&&T(this).attr("style","").removeAttr("style")},opacity:function(){p.verbose("Removing inline opacity from element",this),T(this).css("opacity",""),""===T(this).attr("style")&&T(this).attr("style","").removeAttr("style")}},setting:function(e,n){if(p.debug("Changing setting",e,n),T.isPlainObject(e))T.extend(!0,s,e);else{if(n===F)return s[e];T.isPlainObject(s[e])?T.extend(!0,s[e],n):s[e]=n}},internal:function(e,n){if(p.debug("Changing internal",e,n),n===F)return p[e];T.isPlainObject(e)?T.extend(!0,p,e):p[e]=n},debug:function(){!s.silent&&s.debug&&(s.performance?p.performance.log(arguments):(p.debug=Function.prototype.bind.call(console.info,console,s.name+":"),p.debug.apply(console,arguments)))},verbose:function(){!s.silent&&s.verbose&&s.debug&&(s.performance?p.performance.log(arguments):(p.verbose=Function.prototype.bind.call(console.info,console,s.name+":"),p.verbose.apply(console,arguments)))},error:function(){s.silent||(p.error=Function.prototype.bind.call(console.error,console,s.name+":"),p.error.apply(console,arguments))},performance:{log:function(e){var n,t;s.performance&&(t=(n=(new Date).getTime())-(b||n),b=n,y.push({Name:e[0],Arguments:[].slice.call(e,1)||"",Element:g,"Execution Time":t})),clearTimeout(p.performance.timer),p.performance.timer=setTimeout(p.performance.display,500)},display:function(){var e=s.name+":",t=0;b=!1,clearTimeout(p.performance.timer),T.each(y,function(e,n){t+=n["Execution Time"]}),e+=" "+t+"ms",o&&(e+=" '"+o+"'"),(console.group!==F||console.table!==F)&&0<y.length&&(console.groupCollapsed(e),console.table?console.table(y):T.each(y,function(e,n){console.log(n.Name+": "+n["Execution Time"]+"ms")}),console.groupEnd()),y=[]}},invoke:function(i,e,n){var o,s,t,a=f;return e=e||x,n=n||g,"string"==typeof i&&a!==F&&(i=i.split(/[\. ]/),o=i.length-1,T.each(i,function(e,n){var t=e!=o?n+i[e+1].charAt(0).toUpperCase()+i[e+1].slice(1):i;if(T.isPlainObject(a[t])&&e!=o)a=a[t];else{if(a[t]!==F)return s=a[t],!1;{if(!T.isPlainObject(a[n])||e==o)return a[n]!==F?s=a[n]:p.error(r.method,i),!1;a=a[n]}}})),T.isFunction(s)?t=s.apply(n,e):s!==F&&(t=s),Array.isArray(h)?h.push(t):h!==F?h=[h,t]:t!==F&&(h=t),s}};O?(f===F&&p.initialize(),p.invoke(C)):(f!==F&&f.invoke("destroy"),p.initialize())}),h!==F?h:this},T.fn.accordion.settings={name:"Accordion",namespace:"accordion",silent:!1,debug:!1,verbose:!1,performance:!0,on:"click",observeChanges:!0,exclusive:!0,collapsible:!0,closeNested:!1,animateChildren:!0,duration:350,easing:"easeOutQuad",onOpening:function(){},onClosing:function(){},onChanging:function(){},onOpen:function(){},onClose:function(){},onChange:function(){},error:{method:"The method you called is not defined"},className:{active:"active",animating:"animating",transition:"transition"},selector:{accordion:".accordion",title:".title",trigger:".title",ignore:".ui.dropdown",content:".content"}},T.extend(T.easing,{easeOutQuad:function(e,n,t,i,o){return-i*(n/=o)*(n-2)+t}})}(jQuery,window,void document);
|
package/dist/components/ad.css
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* # Fomantic-UI 2.9.0
|
2
|
+
* # Fomantic-UI 2.9.0 - Ad
|
3
3
|
* http://github.com/fomantic/Fomantic-UI/
|
4
4
|
*
|
5
5
|
*
|
@@ -242,7 +242,7 @@
|
|
242
242
|
position: relative;
|
243
243
|
background: #545454;
|
244
244
|
}
|
245
|
-
.ui.test.ad
|
245
|
+
.ui.test.ad::after {
|
246
246
|
position: absolute;
|
247
247
|
top: 50%;
|
248
248
|
left: 50%;
|
@@ -255,10 +255,10 @@
|
|
255
255
|
font-size: 1em;
|
256
256
|
font-weight: bold;
|
257
257
|
}
|
258
|
-
.ui.mobile.test.ad
|
258
|
+
.ui.mobile.test.ad::after {
|
259
259
|
font-size: 0.85714286em;
|
260
260
|
}
|
261
|
-
.ui.test.ad[data-text]
|
261
|
+
.ui.test.ad[data-text]::after {
|
262
262
|
content: attr(data-text);
|
263
263
|
}
|
264
264
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* # Fomantic-UI 2.9.0
|
2
|
+
* # Fomantic-UI 2.9.0 - Ad
|
3
3
|
* http://github.com/fomantic/Fomantic-UI/
|
4
4
|
*
|
5
5
|
*
|
@@ -7,4 +7,4 @@
|
|
7
7
|
* Released under the MIT license
|
8
8
|
* http://opensource.org/licenses/MIT
|
9
9
|
*
|
10
|
-
*/.ui.ad{display:block;overflow:hidden;margin:1em 0}.ui.ad:first-child{margin:0}.ui.ad:last-child{margin:0}.ui.ad iframe{margin:0;padding:0;border:none;overflow:hidden}.ui.leaderboard.ad{width:728px;height:90px}.ui[class*="medium rectangle"].ad{width:300px;height:250px}.ui[class*="large rectangle"].ad{width:336px;height:280px}.ui[class*="half page"].ad{width:300px;height:600px}.ui.square.ad{width:250px;height:250px}.ui[class*="small square"].ad{width:200px;height:200px}.ui[class*="small rectangle"].ad{width:180px;height:150px}.ui[class*="vertical rectangle"].ad{width:240px;height:400px}.ui.button.ad{width:120px;height:90px}.ui[class*="square button"].ad{width:125px;height:125px}.ui[class*="small button"].ad{width:120px;height:60px}.ui.skyscraper.ad{width:120px;height:600px}.ui[class*="wide skyscraper"].ad{width:160px}.ui.banner.ad{width:468px;height:60px}.ui[class*="vertical banner"].ad{width:120px;height:240px}.ui[class*="top banner"].ad{width:930px;height:180px}.ui[class*="half banner"].ad{width:234px;height:60px}.ui[class*="large leaderboard"].ad{width:970px;height:90px}.ui.billboard.ad{width:970px;height:250px}.ui.panorama.ad{width:980px;height:120px}.ui.netboard.ad{width:580px;height:400px}.ui[class*="large mobile banner"].ad{width:320px;height:100px}.ui[class*="mobile leaderboard"].ad{width:320px;height:50px}.ui.mobile.ad{display:none}@media only screen and (max-width:767.98px){.ui.mobile.ad{display:block}}.ui.centered.ad{margin-left:auto;margin-right:auto}.ui.test.ad{position:relative;background:#545454}.ui.test.ad
|
10
|
+
*/.ui.ad{display:block;overflow:hidden;margin:1em 0}.ui.ad:first-child{margin:0}.ui.ad:last-child{margin:0}.ui.ad iframe{margin:0;padding:0;border:none;overflow:hidden}.ui.leaderboard.ad{width:728px;height:90px}.ui[class*="medium rectangle"].ad{width:300px;height:250px}.ui[class*="large rectangle"].ad{width:336px;height:280px}.ui[class*="half page"].ad{width:300px;height:600px}.ui.square.ad{width:250px;height:250px}.ui[class*="small square"].ad{width:200px;height:200px}.ui[class*="small rectangle"].ad{width:180px;height:150px}.ui[class*="vertical rectangle"].ad{width:240px;height:400px}.ui.button.ad{width:120px;height:90px}.ui[class*="square button"].ad{width:125px;height:125px}.ui[class*="small button"].ad{width:120px;height:60px}.ui.skyscraper.ad{width:120px;height:600px}.ui[class*="wide skyscraper"].ad{width:160px}.ui.banner.ad{width:468px;height:60px}.ui[class*="vertical banner"].ad{width:120px;height:240px}.ui[class*="top banner"].ad{width:930px;height:180px}.ui[class*="half banner"].ad{width:234px;height:60px}.ui[class*="large leaderboard"].ad{width:970px;height:90px}.ui.billboard.ad{width:970px;height:250px}.ui.panorama.ad{width:980px;height:120px}.ui.netboard.ad{width:580px;height:400px}.ui[class*="large mobile banner"].ad{width:320px;height:100px}.ui[class*="mobile leaderboard"].ad{width:320px;height:50px}.ui.mobile.ad{display:none}@media only screen and (max-width:767.98px){.ui.mobile.ad{display:block}}.ui.centered.ad{margin-left:auto;margin-right:auto}.ui.test.ad{position:relative;background:#545454}.ui.test.ad::after{position:absolute;top:50%;left:50%;width:100%;text-align:center;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);content:'Ad';color:#fff;font-size:1em;font-weight:700}.ui.mobile.test.ad::after{font-size:.85714286em}.ui.test.ad[data-text]::after{content:attr(data-text)}
|
package/dist/components/api.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* # Fomantic-UI 2.9.0
|
2
|
+
* # Fomantic-UI 2.9.0 - API
|
3
3
|
* http://github.com/fomantic/Fomantic-UI/
|
4
4
|
*
|
5
5
|
*
|
@@ -65,7 +65,7 @@ $.api = $.fn.api = function(parameters) {
|
|
65
65
|
|
66
66
|
// context used for state
|
67
67
|
$context = (settings.stateContext)
|
68
|
-
? $(settings.stateContext)
|
68
|
+
? ([window,document].indexOf(settings.stateContext) < 0 ? $(document).find(settings.stateContext) : $(settings.stateContext))
|
69
69
|
: $module,
|
70
70
|
|
71
71
|
// request details
|
@@ -74,6 +74,7 @@ $.api = $.fn.api = function(parameters) {
|
|
74
74
|
url,
|
75
75
|
data,
|
76
76
|
requestStartTime,
|
77
|
+
originalData,
|
77
78
|
|
78
79
|
// standard module
|
79
80
|
element = this,
|
@@ -86,6 +87,7 @@ $.api = $.fn.api = function(parameters) {
|
|
86
87
|
|
87
88
|
initialize: function() {
|
88
89
|
if(!methodInvoked) {
|
90
|
+
originalData = settings.data;
|
89
91
|
module.bind.events();
|
90
92
|
}
|
91
93
|
module.instantiate();
|
@@ -197,7 +199,7 @@ $.api = $.fn.api = function(parameters) {
|
|
197
199
|
|
198
200
|
// Add form content
|
199
201
|
if(settings.serializeForm) {
|
200
|
-
settings.data = module.add.formData(settings.data);
|
202
|
+
settings.data = module.add.formData(originalData || settings.data);
|
201
203
|
}
|
202
204
|
|
203
205
|
// call beforesend and get any settings changes
|
@@ -361,8 +363,8 @@ $.api = $.fn.api = function(parameters) {
|
|
361
363
|
var
|
362
364
|
// allow legacy {$var} style
|
363
365
|
variable = (templatedString.indexOf('$') !== -1)
|
364
|
-
? templatedString.
|
365
|
-
: templatedString.
|
366
|
+
? templatedString.slice(2, -1)
|
367
|
+
: templatedString.slice(1, -1),
|
366
368
|
value = ($.isPlainObject(urlData) && urlData[variable] !== undefined)
|
367
369
|
? urlData[variable]
|
368
370
|
: ($module.data(variable) !== undefined)
|
@@ -393,8 +395,8 @@ $.api = $.fn.api = function(parameters) {
|
|
393
395
|
var
|
394
396
|
// allow legacy {/$var} style
|
395
397
|
variable = (templatedString.indexOf('$') !== -1)
|
396
|
-
? templatedString.
|
397
|
-
: templatedString.
|
398
|
+
? templatedString.slice(3, -1)
|
399
|
+
: templatedString.slice(2, -1),
|
398
400
|
value = ($.isPlainObject(urlData) && urlData[variable] !== undefined)
|
399
401
|
? urlData[variable]
|
400
402
|
: ($module.data(variable) !== undefined)
|
@@ -426,28 +428,76 @@ $.api = $.fn.api = function(parameters) {
|
|
426
428
|
formData: function(data) {
|
427
429
|
var
|
428
430
|
formData = {},
|
429
|
-
hasOtherData
|
431
|
+
hasOtherData,
|
432
|
+
useFormDataApi = settings.serializeForm === 'formdata'
|
430
433
|
;
|
431
|
-
data = data || settings.data;
|
434
|
+
data = data || originalData || settings.data;
|
432
435
|
hasOtherData = $.isPlainObject(data);
|
433
436
|
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
437
|
+
if (useFormDataApi) {
|
438
|
+
formData = new FormData($form[0]);
|
439
|
+
settings.processData = typeof settings.processData !== 'undefined' ? settings.processData : false;
|
440
|
+
settings.contentType = typeof settings.contentType !== 'undefined' ? settings.contentType : false;
|
441
|
+
} else {
|
442
|
+
var formArray = $form.serializeArray(),
|
443
|
+
pushes = {},
|
444
|
+
pushValues= {},
|
445
|
+
build = function(base, key, value) {
|
446
|
+
base[key] = value;
|
447
|
+
return base;
|
448
|
+
}
|
449
|
+
;
|
450
|
+
// add files
|
451
|
+
$.each($('input[type="file"]',$form), function(i, tag) {
|
452
|
+
$.each($(tag)[0].files, function(j, file) {
|
453
|
+
formArray.push({name:tag.name, value: file});
|
454
|
+
});
|
455
|
+
});
|
456
|
+
$.each(formArray, function(i, el) {
|
457
|
+
if (!settings.regExp.validate.test(el.name)) return;
|
458
|
+
var isCheckbox = $('[name="' + el.name + '"]', $form).attr('type') === 'checkbox',
|
459
|
+
floatValue = parseFloat(el.value),
|
460
|
+
value = (isCheckbox && el.value === 'on') || el.value === 'true' || (String(floatValue) === el.value ? floatValue : (el.value === 'false' ? false : el.value)),
|
461
|
+
nameKeys = el.name.match(settings.regExp.key) || [], k, pushKey= el.name.replace(/\[\]$/,'')
|
462
|
+
;
|
463
|
+
if(!(pushKey in pushes)) {
|
464
|
+
pushes[pushKey] = 0;
|
465
|
+
pushValues[pushKey] = value;
|
466
|
+
} else if (Array.isArray(pushValues[pushKey])) {
|
467
|
+
pushValues[pushKey].push(value);
|
440
468
|
} else {
|
441
|
-
|
469
|
+
pushValues[pushKey] = [pushValues[pushKey] , value];
|
442
470
|
}
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
471
|
+
value = pushValues[pushKey];
|
472
|
+
|
473
|
+
while ((k = nameKeys.pop()) !== undefined) {
|
474
|
+
// foo[]
|
475
|
+
if (k == '' && !Array.isArray(value)){
|
476
|
+
value = build([], pushes[pushKey]++, value);
|
477
|
+
}
|
478
|
+
// foo[n]
|
479
|
+
else if (settings.regExp.fixed.test(k)) {
|
480
|
+
value = build([], k, value);
|
481
|
+
}
|
482
|
+
// foo; foo[bar]
|
483
|
+
else if (settings.regExp.named.test(k)) {
|
484
|
+
value = build({}, k, value);
|
485
|
+
}
|
486
|
+
}
|
487
|
+
formData = $.extend(true, formData, value);
|
488
|
+
});
|
489
|
+
}
|
447
490
|
|
448
491
|
if(hasOtherData) {
|
449
492
|
module.debug('Extending existing data with form data', data, formData);
|
450
|
-
|
493
|
+
if(useFormDataApi) {
|
494
|
+
$.each(Object.keys(data),function(i, el){
|
495
|
+
formData.append(el, data[el]);
|
496
|
+
});
|
497
|
+
data = formData;
|
498
|
+
} else {
|
499
|
+
data = $.extend(true, {}, data, formData);
|
500
|
+
}
|
451
501
|
}
|
452
502
|
else {
|
453
503
|
module.debug('Adding form data', formData);
|
@@ -965,7 +1015,7 @@ $.api = $.fn.api = function(parameters) {
|
|
965
1015
|
response
|
966
1016
|
;
|
967
1017
|
passedArguments = passedArguments || queryArguments;
|
968
|
-
context =
|
1018
|
+
context = context || element;
|
969
1019
|
if(typeof query == 'string' && object !== undefined) {
|
970
1020
|
query = query.split(/[\. ]/);
|
971
1021
|
maxDepth = query.length - 1;
|
@@ -1086,6 +1136,8 @@ $.api.settings = {
|
|
1086
1136
|
defaultData : true,
|
1087
1137
|
|
1088
1138
|
// whether to serialize closest form
|
1139
|
+
// use true to convert complex named keys like a[b][1][c][] into a nested object
|
1140
|
+
// use 'formdata' for formdata web api
|
1089
1141
|
serializeForm : false,
|
1090
1142
|
|
1091
1143
|
// how long to wait before request should occur
|
@@ -1108,7 +1160,7 @@ $.api.settings = {
|
|
1108
1160
|
responseAsync : false,
|
1109
1161
|
|
1110
1162
|
// whether onResponse should work with response value without force converting into an object
|
1111
|
-
rawResponse :
|
1163
|
+
rawResponse : true,
|
1112
1164
|
|
1113
1165
|
// callbacks before request
|
1114
1166
|
beforeSend : function(settings) { return settings; },
|
@@ -1154,8 +1206,13 @@ $.api.settings = {
|
|
1154
1206
|
},
|
1155
1207
|
|
1156
1208
|
regExp : {
|
1157
|
-
required : /\{\$*[
|
1158
|
-
optional : /\{\/\$*[
|
1209
|
+
required : /\{\$*[a-z0-9]+\}/gi,
|
1210
|
+
optional : /\{\/\$*[a-z0-9]+\}/gi,
|
1211
|
+
validate: /^[a-z_][a-z0-9_-]*(?:\[[a-z0-9_-]*\])*$/i,
|
1212
|
+
key: /[a-z0-9_-]+|(?=\[\])/gi,
|
1213
|
+
push: /^$/,
|
1214
|
+
fixed: /^\d+$/,
|
1215
|
+
named: /^[a-z0-9_-]+$/i
|
1159
1216
|
},
|
1160
1217
|
|
1161
1218
|
className: {
|
@@ -1,11 +1,11 @@
|
|
1
1
|
/*
|
2
|
-
* # Fomantic UI - 2.9.0
|
2
|
+
* # Fomantic UI - 2.9.0
|
3
3
|
* https://github.com/fomantic/Fomantic-UI
|
4
4
|
* http://fomantic-ui.com/
|
5
5
|
*
|
6
|
-
* Copyright
|
6
|
+
* Copyright 2022 Contributors
|
7
7
|
* Released under the MIT license
|
8
8
|
* http://opensource.org/licenses/MIT
|
9
9
|
*
|
10
10
|
*/
|
11
|
-
!function(w,O,e,D){"use strict";w.isWindow=w.isWindow||function(e){return null!=e&&e===e.window},O=void 0!==O&&O.Math==Math?O:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")(),w.api=w.fn.api=function(R){var q,e=w.isFunction(this)?w(O):w(this),x=e.selector||"",A=(new Date).getTime(),S=[],k=R,T="string"==typeof k,P=[].slice.call(arguments,1);return e.each(function(){var s,a,r,e,i,u,c=w.isPlainObject(R)?w.extend(!0,{},w.fn.api.settings,R):w.extend({},w.fn.api.settings),t=c.namespace,n=c.metadata,o=c.selector,d=c.error,l=c.className,f="."+t,g="module-"+t,p=w(this),m=p.closest(o.form),b=c.stateContext?w(c.stateContext):p,v=this,h=b[0],y=p.data(g);u={initialize:function(){T||u.bind.events(),u.instantiate()},instantiate:function(){u.verbose("Storing instance of module",u),y=u,p.data(g,y)},destroy:function(){u.verbose("Destroying previous module for",v),p.removeData(g).off(f)},bind:{events:function(){var e=u.get.event();e?(u.verbose("Attaching API events to element",e),p.on(e+f,u.event.trigger)):"now"==c.on&&(u.debug("Querying API endpoint immediately"),u.query())}},decode:{json:function(e){if(e!==D&&"string"==typeof e)try{e=JSON.parse(e)}catch(e){}return e}},read:{cachedResponse:function(e){var t;if(O.Storage!==D)return t=sessionStorage.getItem(e+u.get.normalizedData()),u.debug("Using cached response",e,c.data,t),t=u.decode.json(t);u.error(d.noStorage)}},write:{cachedResponse:function(e,t){t&&""===t?u.debug("Response empty, not caching",t):O.Storage!==D?(w.isPlainObject(t)&&(t=JSON.stringify(t)),sessionStorage.setItem(e+u.get.normalizedData(),t),u.verbose("Storing cached response for url",e,c.data,t)):u.error(d.noStorage)}},query:function(){if(u.is.disabled())u.debug("Element is disabled API request aborted");else{if(u.is.loading()){if(!c.interruptRequests)return void u.debug("Cancelling request, previous request is still pending");u.debug("Interrupting previous request"),u.abort()}if(c.defaultData&&w.extend(!0,c.urlData,u.get.defaultData()),c.serializeForm&&(c.data=u.add.formData(c.data)),!1===(a=u.get.settings()))return u.cancelled=!0,void u.error(d.beforeSend);if(u.cancelled=!1,(r=u.get.templatedURL())||u.is.mocked()){if((r=u.add.urlData(r))||u.is.mocked()){if(a.url=c.base+r,s=w.extend(!0,{},c,{type:c.method||c.type,data:e,url:c.base+r,beforeSend:c.beforeXHR,success:function(){},failure:function(){},complete:function(){}}),u.debug("Querying URL",s.url),u.verbose("Using AJAX settings",s),"local"===c.cache&&u.read.cachedResponse(r))return u.debug("Response returned from local cache"),u.request=u.create.request(),void u.request.resolveWith(h,[u.read.cachedResponse(r)]);c.throttle?c.throttleFirstRequest||u.timer?(u.debug("Throttling request",c.throttle),clearTimeout(u.timer),u.timer=setTimeout(function(){u.timer&&delete u.timer,u.debug("Sending throttled request",e,s.method),u.send.request()},c.throttle)):(u.debug("Sending request",e,s.method),u.send.request(),u.timer=setTimeout(function(){},c.throttle)):(u.debug("Sending request",e,s.method),u.send.request())}}else u.error(d.missingURL)}},should:{removeError:function(){return!0===c.hideError||"auto"===c.hideError&&!u.is.form()}},is:{disabled:function(){return 0<p.filter(o.disabled).length},expectingJSON:function(){return"json"===c.dataType||"jsonp"===c.dataType},form:function(){return p.is("form")||b.is("form")},mocked:function(){return c.mockResponse||c.mockResponseAsync||c.response||c.responseAsync},input:function(){return p.is("input")},loading:function(){return!!u.request&&"pending"==u.request.state()},abortedRequest:function(e){return e&&e.readyState!==D&&0===e.readyState?(u.verbose("XHR request determined to be aborted"),!0):(u.verbose("XHR request was not aborted"),!1)},validResponse:function(e){return u.is.expectingJSON()&&w.isFunction(c.successTest)?(u.debug("Checking JSON returned success",c.successTest,e),c.successTest(e)?(u.debug("Response passed success test",e),!0):(u.debug("Response failed success test",e),!1)):(u.verbose("Response is not JSON, skipping validation",c.successTest,e),!0)}},was:{cancelled:function(){return u.cancelled||!1},successful:function(){return u.request&&"resolved"==u.request.state()},failure:function(){return u.request&&"rejected"==u.request.state()},complete:function(){return u.request&&("resolved"==u.request.state()||"rejected"==u.request.state())}},add:{urlData:function(o,s){var e,t;return o&&(e=o.match(c.regExp.required),t=o.match(c.regExp.optional),s=s||c.urlData,e&&(u.debug("Looking for required URL variables",e),w.each(e,function(e,t){var r=-1!==t.indexOf("$")?t.substr(2,t.length-3):t.substr(1,t.length-2),n=w.isPlainObject(s)&&s[r]!==D?s[r]:p.data(r)!==D?p.data(r):b.data(r)!==D?b.data(r):s[r];if(n===D)return u.error(d.requiredParameter,r,o),o=!1;u.verbose("Found required variable",r,n),n=c.encodeParameters?u.get.urlEncodedValue(n):n,o=o.replace(t,n)})),t&&(u.debug("Looking for optional URL variables",e),w.each(t,function(e,t){var r=-1!==t.indexOf("$")?t.substr(3,t.length-4):t.substr(2,t.length-3),n=w.isPlainObject(s)&&s[r]!==D?s[r]:p.data(r)!==D?p.data(r):b.data(r)!==D?b.data(r):s[r];o=n!==D?(u.verbose("Optional variable Found",r,n),o.replace(t,n)):(u.verbose("Optional variable not found",r),-1!==o.indexOf("/"+t)?o.replace("/"+t,""):o.replace(t,""))}))),o},formData:function(e){var t,n={};return e=e||c.data,t=w.isPlainObject(e),w.each(m.serializeArray(),function(e,t){var r=n[t.name];null!=r?Array.isArray(r)?r.push(t.value):n[t.name]=[r,t.value]:n[t.name]=t.value}),e=t?(u.debug("Extending existing data with form data",e,n),w.extend(!0,{},e,n)):(u.debug("Adding form data",n),n)}},send:{request:function(){u.set.loading(),u.request=u.create.request(),u.is.mocked()?u.mockedXHR=u.create.mockedXHR():u.xhr=u.create.xhr(),c.onRequest.call(h,u.request,u.xhr)}},event:{trigger:function(e){u.query(),"submit"!=e.type&&"click"!=e.type||e.preventDefault()},xhr:{always:function(){},done:function(e,t,r){var n=this,o=(new Date).getTime()-i,s=c.loadingDuration-o,a=!!w.isFunction(c.onResponse)&&(u.is.expectingJSON()&&!c.rawResponse?c.onResponse.call(n,w.extend(!0,{},e)):c.onResponse.call(n,e));s=0<s?s:0,a&&(u.debug("Modified API response in onResponse callback",c.onResponse,a,e),e=a),0<s&&u.debug("Response completed early delaying state change by",s),setTimeout(function(){u.is.validResponse(e)?u.request.resolveWith(n,[e,r]):u.request.rejectWith(n,[r,"invalid"])},s)},fail:function(e,t,r){var n=this,o=(new Date).getTime()-i,s=c.loadingDuration-o;0<(s=0<s?s:0)&&u.debug("Response completed early delaying state change by",s),setTimeout(function(){u.is.abortedRequest(e)?u.request.rejectWith(n,[e,"aborted",r]):u.request.rejectWith(n,[e,"error",t,r])},s)}},request:{done:function(e,t){u.debug("Successful API Response",e),"local"===c.cache&&r&&(u.write.cachedResponse(r,e),u.debug("Saving server response locally",u.cache)),c.onSuccess.call(h,e,p,t)},complete:function(e,t){var r,n;u.was.successful()?(n=e,r=t):(r=e,n=u.get.responseFromXHR(r)),u.remove.loading(),c.onComplete.call(h,n,p,r)},fail:function(e,t,r){var n=u.get.responseFromXHR(e),o=u.get.errorFromRequest(n,t,r);if("aborted"==t)return u.debug("XHR Aborted (Most likely caused by page navigation or CORS Policy)",t,r),c.onAbort.call(h,t,p,e),!0;"invalid"==t?u.debug("JSON did not pass success test. A server-side error has most likely occurred",n):"error"==t&&e!==D&&(u.debug("XHR produced a server error",t,r),(e.status<200||300<=e.status)&&r!==D&&""!==r&&u.error(d.statusMessage+r,s.url),c.onError.call(h,o,p,e)),c.errorDuration&&"aborted"!==t&&(u.debug("Adding error state"),u.set.error(),u.should.removeError()&&setTimeout(u.remove.error,c.errorDuration)),u.debug("API Request failed",o,e),c.onFailure.call(h,n,p,e)}}},create:{request:function(){return w.Deferred().always(u.event.request.complete).done(u.event.request.done).fail(u.event.request.fail)},mockedXHR:function(){var e,t,r,n=c.mockResponse||c.response,o=c.mockResponseAsync||c.responseAsync;return r=w.Deferred().always(u.event.xhr.complete).done(u.event.xhr.done).fail(u.event.xhr.fail),n?(t=w.isFunction(n)?(u.debug("Using specified synchronous callback",n),n.call(h,a)):(u.debug("Using settings specified response",n),n),r.resolveWith(h,[t,!1,{responseText:t}])):w.isFunction(o)&&(e=function(e){u.debug("Async callback returned response",e),e?r.resolveWith(h,[e,!1,{responseText:e}]):r.rejectWith(h,[{responseText:e},!1,!1])},u.debug("Using specified async response callback",o),o.call(h,a,e)),r},xhr:function(){var e;return e=w.ajax(s).always(u.event.xhr.always).done(u.event.xhr.done).fail(u.event.xhr.fail),u.verbose("Created server request",e,s),e}},set:{error:function(){u.verbose("Adding error state to element",b),b.addClass(l.error)},loading:function(){u.verbose("Adding loading state to element",b),b.addClass(l.loading),i=(new Date).getTime()}},remove:{error:function(){u.verbose("Removing error state from element",b),b.removeClass(l.error)},loading:function(){u.verbose("Removing loading state from element",b),b.removeClass(l.loading)}},get:{normalizedData:function(){return"string"==typeof c.data?c.data:JSON.stringify(c.data,Object.keys(c.data).sort())},responseFromXHR:function(e){return!!w.isPlainObject(e)&&(u.is.expectingJSON()?u.decode.json(e.responseText):e.responseText)},errorFromRequest:function(e,t,r){return w.isPlainObject(e)&&e.error!==D?e.error:c.error[t]!==D?c.error[t]:r},request:function(){return u.request||!1},xhr:function(){return u.xhr||!1},settings:function(){var e;return(e=c.beforeSend.call(p,c))&&(e.success!==D&&(u.debug("Legacy success callback detected",e),u.error(d.legacyParameters,e.success),e.onSuccess=e.success),e.failure!==D&&(u.debug("Legacy failure callback detected",e),u.error(d.legacyParameters,e.failure),e.onFailure=e.failure),e.complete!==D&&(u.debug("Legacy complete callback detected",e),u.error(d.legacyParameters,e.complete),e.onComplete=e.complete)),e===D&&u.error(d.noReturnedValue),!1===e?e:e!==D?w.extend(!0,{},e):w.extend(!0,{},c)},urlEncodedValue:function(e){var t=O.decodeURIComponent(e),r=O.encodeURIComponent(e);return t!==e?(u.debug("URL value is already encoded, avoiding double encoding",e),e):(u.verbose("Encoding value using encodeURIComponent",e,r),r)},defaultData:function(){var e={};return w.isWindow(v)||(u.is.input()?e.value=p.val():u.is.form()||(e.text=p.text())),e},event:function(){return w.isWindow(v)||"now"==c.on?(u.debug("API called without element, no events attached"),!1):"auto"==c.on?p.is("input")?v.oninput!==D?"input":v.onpropertychange!==D?"propertychange":"keyup":p.is("form")?"submit":"click":c.on},templatedURL:function(e){if(e=e||p.data(n.action)||c.action||!1,r=p.data(n.url)||c.url||!1)return u.debug("Using specified url",r),r;if(e){if(u.debug("Looking up url for action",e,c.api),c.api[e]===D&&!u.is.mocked())return void u.error(d.missingAction,c.action,c.api);r=c.api[e]}else u.is.form()&&(r=p.attr("action")||b.attr("action")||!1,u.debug("No url or action specified, defaulting to form action",r));return r}},abort:function(){var e=u.get.xhr();e&&"resolved"!==e.state()&&(u.debug("Cancelling API request"),e.abort())},reset:function(){u.remove.error(),u.remove.loading()},setting:function(e,t){if(u.debug("Changing setting",e,t),w.isPlainObject(e))w.extend(!0,c,e);else{if(t===D)return c[e];w.isPlainObject(c[e])?w.extend(!0,c[e],t):c[e]=t}},internal:function(e,t){if(w.isPlainObject(e))w.extend(!0,u,e);else{if(t===D)return u[e];u[e]=t}},debug:function(){!c.silent&&c.debug&&(c.performance?u.performance.log(arguments):(u.debug=Function.prototype.bind.call(console.info,console,c.name+":"),u.debug.apply(console,arguments)))},verbose:function(){!c.silent&&c.verbose&&c.debug&&(c.performance?u.performance.log(arguments):(u.verbose=Function.prototype.bind.call(console.info,console,c.name+":"),u.verbose.apply(console,arguments)))},error:function(){c.silent||(u.error=Function.prototype.bind.call(console.error,console,c.name+":"),u.error.apply(console,arguments))},performance:{log:function(e){var t,r;c.performance&&(r=(t=(new Date).getTime())-(A||t),A=t,S.push({Name:e[0],Arguments:[].slice.call(e,1)||"","Execution Time":r})),clearTimeout(u.performance.timer),u.performance.timer=setTimeout(u.performance.display,500)},display:function(){var e=c.name+":",r=0;A=!1,clearTimeout(u.performance.timer),w.each(S,function(e,t){r+=t["Execution Time"]}),e+=" "+r+"ms",x&&(e+=" '"+x+"'"),(console.group!==D||console.table!==D)&&0<S.length&&(console.groupCollapsed(e),console.table?console.table(S):w.each(S,function(e,t){console.log(t.Name+": "+t["Execution Time"]+"ms")}),console.groupEnd()),S=[]}},invoke:function(n,e,t){var o,s,r,a=y;return e=e||P,t=v||t,"string"==typeof n&&a!==D&&(n=n.split(/[\. ]/),o=n.length-1,w.each(n,function(e,t){var r=e!=o?t+n[e+1].charAt(0).toUpperCase()+n[e+1].slice(1):n;if(w.isPlainObject(a[r])&&e!=o)a=a[r];else{if(a[r]!==D)return s=a[r],!1;if(!w.isPlainObject(a[t])||e==o)return a[t]!==D?s=a[t]:u.error(d.method,n),!1;a=a[t]}})),w.isFunction(s)?r=s.apply(t,e):s!==D&&(r=s),Array.isArray(q)?q.push(r):q!==D?q=[q,r]:r!==D&&(q=r),s}},T?(y===D&&u.initialize(),u.invoke(k)):(y!==D&&y.invoke("destroy"),u.initialize())}),q!==D?q:this},w.api.settings={name:"API",namespace:"api",debug:!1,verbose:!1,performance:!0,api:{},cache:!0,interruptRequests:!0,on:"auto",stateContext:!1,loadingDuration:0,hideError:"auto",errorDuration:2e3,encodeParameters:!0,action:!1,url:!1,base:"",urlData:{},defaultData:!0,serializeForm:!1,throttle:0,throttleFirstRequest:!0,method:"get",data:{},dataType:"json",mockResponse:!1,mockResponseAsync:!1,response:!1,responseAsync:!1,rawResponse:!1,beforeSend:function(e){return e},beforeXHR:function(e){},onRequest:function(e,t){},onResponse:!1,onSuccess:function(e,t){},onComplete:function(e,t){},onFailure:function(e,t){},onError:function(e,t){},onAbort:function(e,t){},successTest:!1,error:{beforeSend:"The before send function has aborted the request",error:"There was an error with your request",exitConditions:"API Request Aborted. Exit conditions met",JSONParse:"JSON could not be parsed during error handling",legacyParameters:"You are using legacy API success callback names",method:"The method you called is not defined",missingAction:"API action used but no url was defined",missingURL:"No URL specified for api event",noReturnedValue:"The beforeSend callback must return a settings object, beforeSend ignored.",noStorage:"Caching responses locally requires session storage",parseError:"There was an error parsing your request",requiredParameter:"Missing a required URL parameter: ",statusMessage:"Server gave an error: ",timeout:"Your request timed out"},regExp:{required:/\{\$*[A-z0-9]+\}/g,optional:/\{\/\$*[A-z0-9]+\}/g},className:{loading:"loading",error:"error"},selector:{disabled:".disabled",form:"form"},metadata:{action:"action",url:"url"}}}(jQuery,window,document);
|
11
|
+
!function(P,O,j,F){"use strict";P.isWindow=P.isWindow||function(e){return null!=e&&e===e.window},O=void 0!==O&&O.Math==Math?O:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")(),P.api=P.fn.api=function(q){var x,e=P.isFunction(this)?P(O):P(this),A=e.selector||"",k=(new Date).getTime(),S=[],T=q,w="string"==typeof T,D=[].slice.call(arguments,1);return e.each(function(){var s,n,r,e,a,o,f=P.isPlainObject(q)?P.extend(!0,{},P.fn.api.settings,q):P.extend({},P.fn.api.settings),t=f.namespace,i=f.metadata,u=f.selector,c=f.error,d=f.className,l="."+t,g="module-"+t,p=P(this),m=p.closest(u.form),b=f.stateContext?[O,j].indexOf(f.stateContext)<0?P(j).find(f.stateContext):P(f.stateContext):p,v=this,h=b[0],y=p.data(g),R={initialize:function(){w||(o=f.data,R.bind.events()),R.instantiate()},instantiate:function(){R.verbose("Storing instance of module",R),y=R,p.data(g,y)},destroy:function(){R.verbose("Destroying previous module for",v),p.removeData(g).off(l)},bind:{events:function(){var e=R.get.event();e?(R.verbose("Attaching API events to element",e),p.on(e+l,R.event.trigger)):"now"==f.on&&(R.debug("Querying API endpoint immediately"),R.query())}},decode:{json:function(e){if(e!==F&&"string"==typeof e)try{e=JSON.parse(e)}catch(e){}return e}},read:{cachedResponse:function(e){var t;if(O.Storage!==F)return t=sessionStorage.getItem(e+R.get.normalizedData()),R.debug("Using cached response",e,f.data,t),R.decode.json(t);R.error(c.noStorage)}},write:{cachedResponse:function(e,t){t&&""===t?R.debug("Response empty, not caching",t):O.Storage===F?R.error(c.noStorage):(P.isPlainObject(t)&&(t=JSON.stringify(t)),sessionStorage.setItem(e+R.get.normalizedData(),t),R.verbose("Storing cached response for url",e,f.data,t))}},query:function(){if(R.is.disabled())R.debug("Element is disabled API request aborted");else{if(R.is.loading()){if(!f.interruptRequests)return void R.debug("Cancelling request, previous request is still pending");R.debug("Interrupting previous request"),R.abort()}if(f.defaultData&&P.extend(!0,f.urlData,R.get.defaultData()),f.serializeForm&&(f.data=R.add.formData(o||f.data)),!1===(n=R.get.settings()))return R.cancelled=!0,void R.error(c.beforeSend);if(R.cancelled=!1,(r=R.get.templatedURL())||R.is.mocked()){if((r=R.add.urlData(r))||R.is.mocked()){if(n.url=f.base+r,s=P.extend(!0,{},f,{type:f.method||f.type,data:e,url:f.base+r,beforeSend:f.beforeXHR,success:function(){},failure:function(){},complete:function(){}}),R.debug("Querying URL",s.url),R.verbose("Using AJAX settings",s),"local"===f.cache&&R.read.cachedResponse(r))return R.debug("Response returned from local cache"),R.request=R.create.request(),void R.request.resolveWith(h,[R.read.cachedResponse(r)]);f.throttle?f.throttleFirstRequest||R.timer?(R.debug("Throttling request",f.throttle),clearTimeout(R.timer),R.timer=setTimeout(function(){R.timer&&delete R.timer,R.debug("Sending throttled request",e,s.method),R.send.request()},f.throttle)):(R.debug("Sending request",e,s.method),R.send.request(),R.timer=setTimeout(function(){},f.throttle)):(R.debug("Sending request",e,s.method),R.send.request())}}else R.error(c.missingURL)}},should:{removeError:function(){return!0===f.hideError||"auto"===f.hideError&&!R.is.form()}},is:{disabled:function(){return 0<p.filter(u.disabled).length},expectingJSON:function(){return"json"===f.dataType||"jsonp"===f.dataType},form:function(){return p.is("form")||b.is("form")},mocked:function(){return f.mockResponse||f.mockResponseAsync||f.response||f.responseAsync},input:function(){return p.is("input")},loading:function(){return!!R.request&&"pending"==R.request.state()},abortedRequest:function(e){return e&&e.readyState!==F&&0===e.readyState?(R.verbose("XHR request determined to be aborted"),!0):(R.verbose("XHR request was not aborted"),!1)},validResponse:function(e){return R.is.expectingJSON()&&P.isFunction(f.successTest)?(R.debug("Checking JSON returned success",f.successTest,e),f.successTest(e)?(R.debug("Response passed success test",e),!0):(R.debug("Response failed success test",e),!1)):(R.verbose("Response is not JSON, skipping validation",f.successTest,e),!0)}},was:{cancelled:function(){return R.cancelled||!1},successful:function(){return R.request&&"resolved"==R.request.state()},failure:function(){return R.request&&"rejected"==R.request.state()},complete:function(){return R.request&&("resolved"==R.request.state()||"rejected"==R.request.state())}},add:{urlData:function(o,s){var e,t;return o&&(e=o.match(f.regExp.required),t=o.match(f.regExp.optional),s=s||f.urlData,e&&(R.debug("Looking for required URL variables",e),P.each(e,function(e,t){var r=-1!==t.indexOf("$")?t.slice(2,-1):t.slice(1,-1),n=P.isPlainObject(s)&&s[r]!==F?s[r]:p.data(r)!==F?p.data(r):b.data(r)!==F?b.data(r):s[r];if(n===F)return R.error(c.requiredParameter,r,o),o=!1;R.verbose("Found required variable",r,n),n=f.encodeParameters?R.get.urlEncodedValue(n):n,o=o.replace(t,n)})),t&&(R.debug("Looking for optional URL variables",e),P.each(t,function(e,t){var r=-1!==t.indexOf("$")?t.slice(3,-1):t.slice(2,-1),n=P.isPlainObject(s)&&s[r]!==F?s[r]:p.data(r)!==F?p.data(r):b.data(r)!==F?b.data(r):s[r];o=n!==F?(R.verbose("Optional variable Found",r,n),o.replace(t,n)):(R.verbose("Optional variable not found",r),-1!==o.indexOf("/"+t)?o.replace("/"+t,""):o.replace(t,""))}))),o},formData:function(r){var e,n,u,c,d,l={},t="formdata"===f.serializeForm;return r=r||o||f.data,e=P.isPlainObject(r),t?(l=new FormData(m[0]),f.processData=void 0!==f.processData&&f.processData,f.contentType=void 0!==f.contentType&&f.contentType):(n=m.serializeArray(),u={},c={},d=function(e,t,r){return e[t]=r,e},P.each(P('input[type="file"]',m),function(e,r){P.each(P(r)[0].files,function(e,t){n.push({name:r.name,value:t})})}),P.each(n,function(e,t){if(f.regExp.validate.test(t.name)){var r,n="checkbox"===P('[name="'+t.name+'"]',m).attr("type"),o=parseFloat(t.value),s=n&&"on"===t.value||"true"===t.value||(String(o)===t.value?o:"false"!==t.value&&t.value),a=t.name.match(f.regExp.key)||[],i=t.name.replace(/\[\]$/,"");i in u?Array.isArray(c[i])?c[i].push(s):c[i]=[c[i],s]:(u[i]=0,c[i]=s),s=c[i];for(;(r=a.pop())!==F;)""!=r||Array.isArray(s)?f.regExp.fixed.test(r)?s=d([],r,s):f.regExp.named.test(r)&&(s=d({},r,s)):s=d([],u[i]++,s);l=P.extend(!0,l,s)}})),r=e?(R.debug("Extending existing data with form data",r,l),t?(P.each(Object.keys(r),function(e,t){l.append(t,r[t])}),l):P.extend(!0,{},r,l)):(R.debug("Adding form data",l),l)}},send:{request:function(){R.set.loading(),R.request=R.create.request(),R.is.mocked()?R.mockedXHR=R.create.mockedXHR():R.xhr=R.create.xhr(),f.onRequest.call(h,R.request,R.xhr)}},event:{trigger:function(e){R.query(),"submit"!=e.type&&"click"!=e.type||e.preventDefault()},xhr:{always:function(){},done:function(e,t,r){var n=this,o=(new Date).getTime()-a,o=f.loadingDuration-o,s=!!P.isFunction(f.onResponse)&&(R.is.expectingJSON()&&!f.rawResponse?f.onResponse.call(n,P.extend(!0,{},e)):f.onResponse.call(n,e)),o=0<o?o:0;s&&(R.debug("Modified API response in onResponse callback",f.onResponse,s,e),e=s),0<o&&R.debug("Response completed early delaying state change by",o),setTimeout(function(){R.is.validResponse(e)?R.request.resolveWith(n,[e,r]):R.request.rejectWith(n,[r,"invalid"])},o)},fail:function(e,t,r){var n=this,o=(new Date).getTime()-a,o=f.loadingDuration-o;0<(o=0<o?o:0)&&R.debug("Response completed early delaying state change by",o),setTimeout(function(){R.is.abortedRequest(e)?R.request.rejectWith(n,[e,"aborted",r]):R.request.rejectWith(n,[e,"error",t,r])},o)}},request:{done:function(e,t){R.debug("Successful API Response",e),"local"===f.cache&&r&&(R.write.cachedResponse(r,e),R.debug("Saving server response locally",R.cache)),f.onSuccess.call(h,e,p,t)},complete:function(e,t){var r,n;R.was.successful()?(n=e,r=t):n=R.get.responseFromXHR(r=e),R.remove.loading(),f.onComplete.call(h,n,p,r)},fail:function(e,t,r){var n=R.get.responseFromXHR(e),o=R.get.errorFromRequest(n,t,r);if("aborted"==t)return R.debug("XHR Aborted (Most likely caused by page navigation or CORS Policy)",t,r),f.onAbort.call(h,t,p,e),!0;"invalid"==t?R.debug("JSON did not pass success test. A server-side error has most likely occurred",n):"error"==t&&e!==F&&(R.debug("XHR produced a server error",t,r),(e.status<200||300<=e.status)&&r!==F&&""!==r&&R.error(c.statusMessage+r,s.url),f.onError.call(h,o,p,e)),f.errorDuration&&"aborted"!==t&&(R.debug("Adding error state"),R.set.error(),R.should.removeError()&&setTimeout(R.remove.error,f.errorDuration)),R.debug("API Request failed",o,e),f.onFailure.call(h,n,p,e)}}},create:{request:function(){return P.Deferred().always(R.event.request.complete).done(R.event.request.done).fail(R.event.request.fail)},mockedXHR:function(){var e=f.mockResponse||f.response,t=f.mockResponseAsync||f.responseAsync,r=P.Deferred().always(R.event.xhr.complete).done(R.event.xhr.done).fail(R.event.xhr.fail);return e?(e=P.isFunction(e)?(R.debug("Using specified synchronous callback",e),e.call(h,n)):(R.debug("Using settings specified response",e),e),r.resolveWith(h,[e,!1,{responseText:e}])):P.isFunction(t)&&(e=function(e){R.debug("Async callback returned response",e),e?r.resolveWith(h,[e,!1,{responseText:e}]):r.rejectWith(h,[{responseText:e},!1,!1])},R.debug("Using specified async response callback",t),t.call(h,n,e)),r},xhr:function(){var e=P.ajax(s).always(R.event.xhr.always).done(R.event.xhr.done).fail(R.event.xhr.fail);return R.verbose("Created server request",e,s),e}},set:{error:function(){R.verbose("Adding error state to element",b),b.addClass(d.error)},loading:function(){R.verbose("Adding loading state to element",b),b.addClass(d.loading),a=(new Date).getTime()}},remove:{error:function(){R.verbose("Removing error state from element",b),b.removeClass(d.error)},loading:function(){R.verbose("Removing loading state from element",b),b.removeClass(d.loading)}},get:{normalizedData:function(){return"string"==typeof f.data?f.data:JSON.stringify(f.data,Object.keys(f.data).sort())},responseFromXHR:function(e){return!!P.isPlainObject(e)&&(R.is.expectingJSON()?R.decode.json(e.responseText):e.responseText)},errorFromRequest:function(e,t,r){return P.isPlainObject(e)&&e.error!==F?e.error:f.error[t]!==F?f.error[t]:r},request:function(){return R.request||!1},xhr:function(){return R.xhr||!1},settings:function(){var e=f.beforeSend.call(p,f);return e&&(e.success!==F&&(R.debug("Legacy success callback detected",e),R.error(c.legacyParameters,e.success),e.onSuccess=e.success),e.failure!==F&&(R.debug("Legacy failure callback detected",e),R.error(c.legacyParameters,e.failure),e.onFailure=e.failure),e.complete!==F&&(R.debug("Legacy complete callback detected",e),R.error(c.legacyParameters,e.complete),e.onComplete=e.complete)),e===F&&R.error(c.noReturnedValue),!1===e?e:e!==F?P.extend(!0,{},e):P.extend(!0,{},f)},urlEncodedValue:function(e){var t=O.decodeURIComponent(e),r=O.encodeURIComponent(e);return t!==e?(R.debug("URL value is already encoded, avoiding double encoding",e),e):(R.verbose("Encoding value using encodeURIComponent",e,r),r)},defaultData:function(){var e={};return P.isWindow(v)||(R.is.input()?e.value=p.val():R.is.form()||(e.text=p.text())),e},event:function(){return P.isWindow(v)||"now"==f.on?(R.debug("API called without element, no events attached"),!1):"auto"==f.on?p.is("input")?v.oninput!==F?"input":v.onpropertychange!==F?"propertychange":"keyup":p.is("form")?"submit":"click":f.on},templatedURL:function(e){if(e=e||p.data(i.action)||f.action||!1,r=p.data(i.url)||f.url||!1)return R.debug("Using specified url",r),r;if(e){if(R.debug("Looking up url for action",e,f.api),f.api[e]===F&&!R.is.mocked())return void R.error(c.missingAction,f.action,f.api);r=f.api[e]}else R.is.form()&&(r=p.attr("action")||b.attr("action")||!1,R.debug("No url or action specified, defaulting to form action",r));return r}},abort:function(){var e=R.get.xhr();e&&"resolved"!==e.state()&&(R.debug("Cancelling API request"),e.abort())},reset:function(){R.remove.error(),R.remove.loading()},setting:function(e,t){if(R.debug("Changing setting",e,t),P.isPlainObject(e))P.extend(!0,f,e);else{if(t===F)return f[e];P.isPlainObject(f[e])?P.extend(!0,f[e],t):f[e]=t}},internal:function(e,t){if(P.isPlainObject(e))P.extend(!0,R,e);else{if(t===F)return R[e];R[e]=t}},debug:function(){!f.silent&&f.debug&&(f.performance?R.performance.log(arguments):(R.debug=Function.prototype.bind.call(console.info,console,f.name+":"),R.debug.apply(console,arguments)))},verbose:function(){!f.silent&&f.verbose&&f.debug&&(f.performance?R.performance.log(arguments):(R.verbose=Function.prototype.bind.call(console.info,console,f.name+":"),R.verbose.apply(console,arguments)))},error:function(){f.silent||(R.error=Function.prototype.bind.call(console.error,console,f.name+":"),R.error.apply(console,arguments))},performance:{log:function(e){var t,r;f.performance&&(r=(t=(new Date).getTime())-(k||t),k=t,S.push({Name:e[0],Arguments:[].slice.call(e,1)||"","Execution Time":r})),clearTimeout(R.performance.timer),R.performance.timer=setTimeout(R.performance.display,500)},display:function(){var e=f.name+":",r=0;k=!1,clearTimeout(R.performance.timer),P.each(S,function(e,t){r+=t["Execution Time"]}),e+=" "+r+"ms",A&&(e+=" '"+A+"'"),(console.group!==F||console.table!==F)&&0<S.length&&(console.groupCollapsed(e),console.table?console.table(S):P.each(S,function(e,t){console.log(t.Name+": "+t["Execution Time"]+"ms")}),console.groupEnd()),S=[]}},invoke:function(n,e,t){var o,s,r,a=y;return e=e||D,t=t||v,"string"==typeof n&&a!==F&&(n=n.split(/[\. ]/),o=n.length-1,P.each(n,function(e,t){var r=e!=o?t+n[e+1].charAt(0).toUpperCase()+n[e+1].slice(1):n;if(P.isPlainObject(a[r])&&e!=o)a=a[r];else{if(a[r]!==F)return s=a[r],!1;{if(!P.isPlainObject(a[t])||e==o)return a[t]!==F?s=a[t]:R.error(c.method,n),!1;a=a[t]}}})),P.isFunction(s)?r=s.apply(t,e):s!==F&&(r=s),Array.isArray(x)?x.push(r):x!==F?x=[x,r]:r!==F&&(x=r),s}};w?(y===F&&R.initialize(),R.invoke(T)):(y!==F&&y.invoke("destroy"),R.initialize())}),x!==F?x:this},P.api.settings={name:"API",namespace:"api",debug:!1,verbose:!1,performance:!0,api:{},cache:!0,interruptRequests:!0,on:"auto",stateContext:!1,loadingDuration:0,hideError:"auto",errorDuration:2e3,encodeParameters:!0,action:!1,url:!1,base:"",urlData:{},defaultData:!0,serializeForm:!1,throttle:0,throttleFirstRequest:!0,method:"get",data:{},dataType:"json",mockResponse:!1,mockResponseAsync:!1,response:!1,responseAsync:!1,rawResponse:!0,beforeSend:function(e){return e},beforeXHR:function(e){},onRequest:function(e,t){},onResponse:!1,onSuccess:function(e,t){},onComplete:function(e,t){},onFailure:function(e,t){},onError:function(e,t){},onAbort:function(e,t){},successTest:!1,error:{beforeSend:"The before send function has aborted the request",error:"There was an error with your request",exitConditions:"API Request Aborted. Exit conditions met",JSONParse:"JSON could not be parsed during error handling",legacyParameters:"You are using legacy API success callback names",method:"The method you called is not defined",missingAction:"API action used but no url was defined",missingURL:"No URL specified for api event",noReturnedValue:"The beforeSend callback must return a settings object, beforeSend ignored.",noStorage:"Caching responses locally requires session storage",parseError:"There was an error parsing your request",requiredParameter:"Missing a required URL parameter: ",statusMessage:"Server gave an error: ",timeout:"Your request timed out"},regExp:{required:/\{\$*[a-z0-9]+\}/gi,optional:/\{\/\$*[a-z0-9]+\}/gi,validate:/^[a-z_][a-z0-9_-]*(?:\[[a-z0-9_-]*\])*$/i,key:/[a-z0-9_-]+|(?=\[\])/gi,push:/^$/,fixed:/^\d+$/,named:/^[a-z0-9_-]+$/i},className:{loading:"loading",error:"error"},selector:{disabled:".disabled",form:"form"},metadata:{action:"action",url:"url"}}}(jQuery,window,document);
|