Unopinionated utilities for resizeable split views

Overview

Split CI Dependencies Backers on Open Collective Sponsors on Open Collective

Unopinionated utilities for resizeable split views.

  • Zero Deps
  • Tiny: Each is between 1-2kb gzipped.
  • Fast: No overhead or attached window event listeners, uses pure CSS for resizing.
  • Unopinionated: Only compute view sizes. Everything else is up to you.

Two utilities:

  • Split.js - The original library, maintained since 2014, works with float and flex layouts. Supports all browsers.
  • Split Grid - Successor to Split.js, for grid layouts. Supports modern browsers.

Two React wrappers:

Credits

Contributors

This project exists thanks to all the people who contribute. [Contribute].

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

Sauce Labs

Used By

Comments
  • Option to drag by fixed amounts/intervals

    Option to drag by fixed amounts/intervals

    Thanks for a great script. Just wondering if you would consider an option to snap dragging to a defined interval of pixels.

    I am using this in conjunction with Ace editor and it would be great to be able to set the dragInterval to the same height as the Ace editor lineHeight setting.

    I am sure there could be other use cases as well for this functionality.

    Thanks!

    help wanted easy fix 
    opened by adrianbj 28
  • Breaking changes since 1.5.1

    Breaking changes since 1.5.1

    Hi, This is just a heads up that we had to revert to version 1.5.1 as recent changes have caused some layout and rendering issues in our tool. We have a boostrap/css app with tabs and multiple splits (e.g. a vertical split, then the top region has a horizontal split). With the latest release (and maybe a couple behind that) the split bar inside the second tab (not shown initially) did not render (no grab bar). In another tool, the component inside a split div did not consume all the space as it did before.

    Sorry I do not have specifics yet, but will dig deeper and post them here. Thanks for an awesome library!

    split.js 
    opened by radiantone 27
  • New function for collapsing/expanding a split panel

    New function for collapsing/expanding a split panel

    I would like to see an enhancement to be able to collapse a split panel. Essentially 'collapse()' would set the width (or height) to zero and the panel next to it to 100%. A call to 'expand()' would bring back the gutter to the last state. Collapse should also be available when min-size is not 0.

    opened by tFaster 15
  • Sides creep right and left when repeatedly dragging

    Sides creep right and left when repeatedly dragging

    I think this is caused by clientWidth returning an integer, which is then used to calculate percentages. When done repeatedly, it makes the sides creep right or left.

    Using getBoundingClientRect() might fix this.

    opened by nathancahill 12
  • error in using react-split with nested library split.js

    error in using react-split with nested library split.js

    Hello, in my application I'm using react-split 2.0.7. This library has nested deps split.js and after upgrading this library to 1.6.0 an error occurs:

        at SplitWrapper.componentDidMount (react-split.es.js:46)
        at commitLifeCycles (react-dom.development.js:19690)
        at commitLayoutEffects (react-dom.development.js:22662)
        at HTMLUnknownElement.callCallback (react-dom.development.js:189)
        at Object.invokeGuardedCallbackDev (react-dom.development.js:238)
        at invokeGuardedCallback (react-dom.development.js:291)
        at commitRootImpl (react-dom.development.js:22404)
        at unstable_runWithPriority (scheduler.development.js:659)
        at runWithPriority$1 (react-dom.development.js:11077)
        at commitRoot (react-dom.development.js:22246)
        at finishSyncRender (react-dom.development.js:21663)
        at performSyncWorkOnRoot (react-dom.development.js:21649)
        at react-dom.development.js:11131
        at unstable_runWithPriority (scheduler.development.js:659)
        at runWithPriority$1 (react-dom.development.js:11077)
        at flushSyncCallbackQueueImpl (react-dom.development.js:11126)
        at flushSyncCallbackQueue (react-dom.development.js:11114)
        at scheduleUpdateOnFiber (react-dom.development.js:21056)
        at Object.enqueueSetState (react-dom.development.js:12676)
        at AsyncFunc.push../node_modules/react/cjs/react.development.js.Component.setState (react.development.js:464)
        at AsyncFunc._callee$ (AsyncFunc.js:25)
        at tryCatch (runtime.js:63)
        at Generator.invoke [as _invoke] (runtime.js:282)
        at Generator.prototype.<computed> [as next] (runtime.js:116)
        at asyncGeneratorStep (asyncToGenerator.js:3)
        at _next (asyncToGenerator.js:25)``` 
    
    Unitl version split.js was 1.5.9 everything worked fine. 
    opened by maciejwozniak 11
  • Gutter width is not factored in to the minSize, leading to overflow

    Gutter width is not factored in to the minSize, leading to overflow

    I have a 3 pane horizontal view configured this way:

    sizes: [10, 15, 75],
    minSize: [0, 0, 0],
    gutterSize: 2
    

    I've added a button that when clicked "collapses" the first pane via setSizes([0, 15, 85]). (I did this instead of collapse so that I could allocate space to the last pane and not the second pane)

    The problem is, when the first panel is collapsed, the third panel will get pushed down under the first two. This is happening because the size of the panels is calculated in an uneven way as follows:

    Pane 1: width: calc(10% - 1px) Pane 2: width: calc(15% - 2px) Pane 3: width: calc(75% - 1px)

    The width of the first gutter is being split in half across the first and last panes, which works perfectly fine when all 3 panes are in view, but once the first pane gets collapsed (Which renders the width of pane 1 to calc(0% - 1px) that half of that gutter isn't being subtracted from anywhere anymore which causes the series to add up to 1px more than 100%, and the third pane to get pushed down to a new line.

    Looking over the API I see it's possible to interact with how the elements are sized via elementStyle, though I'm not sure if there's a supported way to interact with the sizing in a way that targets specific elements rather than the whole set (In my case the problem would be solved if pane 2 and 3 subtracted 2px each while the first subtracted none)

    bug 
    opened by Autre31415 10
  • added gutterId to the options

    added gutterId to the options

    First of all, thanks for nice project! I've included it in my openlayers project. Second, I have 'enhanced' the code (I think) by adding a gutterId to the options. It'll set the id of the gutter element created: ` (...)

    var gutter = document.createElement('div')

    if (options.gutterId) gutter.id = options.gutterId

    (...) `

    Why? Because this way you are able to attach an eventlistener to the gutter using: `

    addListenerById = function(listenertype,id,handlerfunction) {

    var elm = document.getElementById(id);
    
    if (elm) {
    
    	elm.addEventListener(listenertype, handlerfunction, false);
    
    	console.log("listener type="+listenertype+" attached to id="+id);
    
    }
    
    else {
    
    	console.log("could not find element with id="+id);
    
    }
    

    } `

    Extremely handy to use when the gutter has resized a div and you need to, in my case, redraw the map div/canvas. As you may know, there is no 'resize' event available for a div, only for the window (which isn't resized when the gutter is dragged). Thought to let you know.

    opened by veetrp 10
  • Split panes not resized correctly when window size changes

    Split panes not resized correctly when window size changes

    1. Open http://nathancahill.github.io/Split.js/ in Chrome
    2. Resize the browser window to about 800 pixels in width
    3. Reload the page
    4. Increase the width of the browser window

    This causes empty white space to the right of the second split pane, which at least in my case is incorrect. The desired behavior would be to have the panes to increase in size to fill the container.

    opened by joakimgunst 10
  • Gutter cursor type issues while resizing

    Gutter cursor type issues while resizing

    This is a minor issue I noticed. Please check this demonstration. It's also reproducible on your website.

    Click and hold the first gutter from the left and move it left and right. Everything is smooth and perfect. You can see the cursor type remains the same.

    Do the same on the second or third gutter. When you move the gutter to left, cursor type kind of flickers between default and col-resize. When you move it to right, col-resize is completely lost and it becomes default.

    bug 
    opened by ozguruysal 10
  • react-split 2.0.13 Typescript

    react-split 2.0.13 Typescript "extends" incompatible

    In react-split's SplitProps interface you removed className?: string in favour of extending from React.HTMLAttributes<HTMLDivElement>.

    (see https://github.com/nathancahill/split/issues/689 and https://github.com/nathancahill/split/commit/e18c3a07dc607725c708b2c476dff52f9b515142)

    The problem is, that some types in SplitProps have the same names as in @types/react's React.HTMLAttributes<HTMLDivElement> but different definitions, like onDrag

    SplitProps: onDrag?: Options["onDrag"] DOMAttributes (which HTMLAttributes extends from): onDrag?: DragEventHandler<T> | undefined;

    And that can generate errors like this:

    Interface 'SplitProps' incorrectly extends interface 'HTMLAttributes<HTMLDivElement>'.
      Types of property 'onDrag' are incompatible.
        Type '((sizes: number[]) => void) | undefined' is not assignable to type 'DragEventHandler<HTMLDivElement> | undefined'.
          Type '(sizes: number[]) => void' is not assignable to type 'DragEventHandler<HTMLDivElement>'.
            Types of parameters 'sizes' and 'event' are incompatible.
              Type 'DragEvent<HTMLDivElement>' is missing the following properties from type 'number[]': length, pop, push, concat, and 28 more.
    
    export interface SplitProps extends React.HTMLAttributes<HTMLDivElement> {
    
    opened by baumerdev 9
  • Resizing stalls if the mouse leaves the container

    Resizing stalls if the mouse leaves the container

    Patch for https://github.com/nathancahill/Split.js/issues/111

    Thanks for giving me contributor access, but to begin with I'd like to stick to PRs so you get a chance to comment.

    This series of commits fixes the linter issues I mentioned, moves event listeners from the parent node to the root node, and tidies up a few minor things (slightly better minification).

    Tested in Chrome, FireFox and Safari

    opened by davidje13 9
  • Bump qs from 6.10.1 to 6.10.3 in /packages/split-generator

    Bump qs from 6.10.1 to 6.10.3 in /packages/split-generator

    Bumps qs from 6.10.1 to 6.10.3.

    Changelog

    Sourced from qs's changelog.

    6.10.3

    • [Fix] parse: ignore __proto__ keys (#428)
    • [Robustness] stringify: avoid relying on a global undefined (#427)
    • [actions] reuse common workflows
    • [Dev Deps] update eslint, @ljharb/eslint-config, object-inspect, tape

    6.10.2

    • [Fix] stringify: actually fix cyclic references (#426)
    • [Fix] stringify: avoid encoding arrayformat comma when encodeValuesOnly = true (#424)
    • [readme] remove travis badge; add github actions/codecov badges; update URLs
    • [Docs] add note and links for coercing primitive values (#408)
    • [actions] update codecov uploader
    • [actions] update workflows
    • [Tests] clean up stringify tests slightly
    • [Dev Deps] update eslint, @ljharb/eslint-config, aud, object-inspect, safe-publish-latest, tape
    Commits
    • f92ddb5 v6.10.3
    • d9e9529 [Dev Deps] update eslint
    • 8b4cc14 [Fix] parse: ignore __proto__ keys
    • ad63d36 [actions] reuse common workflows
    • c028385 [Dev Deps] update eslint, @ljharb/eslint-config, object-inspect, tape
    • 0a1d3e8 [Robustness] stringify: avoid relying on a global undefined
    • 408ff95 v6.10.2
    • 3cea04d [Dev Deps] update @ljharb/eslint-config
    • 28fba8f [Dev Deps] update eslint, @ljharb/eslint-config, tape
    • 9aee773 [Fix] stringify: actually fix cyclic references
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump qs from 6.10.1 to 6.10.3

    Bump qs from 6.10.1 to 6.10.3

    Bumps qs from 6.10.1 to 6.10.3.

    Changelog

    Sourced from qs's changelog.

    6.10.3

    • [Fix] parse: ignore __proto__ keys (#428)
    • [Robustness] stringify: avoid relying on a global undefined (#427)
    • [actions] reuse common workflows
    • [Dev Deps] update eslint, @ljharb/eslint-config, object-inspect, tape

    6.10.2

    • [Fix] stringify: actually fix cyclic references (#426)
    • [Fix] stringify: avoid encoding arrayformat comma when encodeValuesOnly = true (#424)
    • [readme] remove travis badge; add github actions/codecov badges; update URLs
    • [Docs] add note and links for coercing primitive values (#408)
    • [actions] update codecov uploader
    • [actions] update workflows
    • [Tests] clean up stringify tests slightly
    • [Dev Deps] update eslint, @ljharb/eslint-config, aud, object-inspect, safe-publish-latest, tape
    Commits
    • f92ddb5 v6.10.3
    • d9e9529 [Dev Deps] update eslint
    • 8b4cc14 [Fix] parse: ignore __proto__ keys
    • ad63d36 [actions] reuse common workflows
    • c028385 [Dev Deps] update eslint, @ljharb/eslint-config, object-inspect, tape
    • 0a1d3e8 [Robustness] stringify: avoid relying on a global undefined
    • 408ff95 v6.10.2
    • 3cea04d [Dev Deps] update @ljharb/eslint-config
    • 28fba8f [Dev Deps] update eslint, @ljharb/eslint-config, tape
    • 9aee773 [Fix] stringify: actually fix cyclic references
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump decode-uri-component from 0.2.0 to 0.2.2

    Bump decode-uri-component from 0.2.0 to 0.2.2

    Bumps decode-uri-component from 0.2.0 to 0.2.2.

    Release notes

    Sourced from decode-uri-component's releases.

    v0.2.2

    • Prevent overwriting previously decoded tokens 980e0bf

    https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.1...v0.2.2

    v0.2.1

    • Switch to GitHub workflows 76abc93
    • Fix issue where decode throws - fixes #6 746ca5d
    • Update license (#1) 486d7e2
    • Tidelift tasks a650457
    • Meta tweaks 66e1c28

    https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.1

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • How to update properties without destroying and reinitialization?

    How to update properties without destroying and reinitialization?

    How to update properties without destroying and reinitialization?

      async initSplitInstance() {
        if (this.rightLeftSplitInstance) {
          this.rightLeftSplitInstance.destroy(true);
        }
        setTimeout(() => {
          this.rightLeftSplitInstance = Split([this.leftPanel.nativeElement, this.rightPanel.nativeElement], {
            sizes: [75, 25],
            minSize: [300, 300],
            expandToMin: true,
            // gutterSize: 5,
            // cursor: 'col-resize',
            direction: this.selectedLayout === EditorLayouts.LEFT || this.selectedLayout === EditorLayouts.RIGHT ? 'horizontal' : 'vertical',
            elementStyle: function (dimension, size, gutterSize) {
              return {
                'flex-basis': 'calc(' + size + '% - ' + gutterSize + 'px)',
              }
            },
            gutter(index: number, direction: "horizontal" | "vertical"): HTMLElement {
              const gutter = document.createElement('div');
              gutter.className = `gutter gutter-${direction}`;
              return gutter;
            },
            gutterStyle: function (dimension, gutterSize) {
              return {
                'flex-basis': gutterSize + 'px',
              }
            },
            onDrag: () => {
              this.isDragging = true;
            },
            onDragEnd: () => {
              this.isDragging = false;
            }
          });
        }, 0);
      }
    

    In this example, the this.selectedLayout is EditorLayouts.RIGHT so the direction is horizontal.

    In HTML this is how I have implemented it.

    <div class="relative h-full flex split-box" [ngClass]="{
            'flex-row': selectedLayout === EditorLayoutsEnum.RIGHT,
            'flex-row-reverse': selectedLayout === EditorLayoutsEnum.LEFT,
            'flex-col': selectedLayout === EditorLayoutsEnum.BOTTOM,
            'flex-col-reverse': selectedLayout === EditorLayoutsEnum.TOP
           }">
           ...
    </div>
    

    Now, whenever the user presses any of these change layout buttons. I have to destroy the instance and reinitialize the Split.js. image

      changeLayout($event: MouseEvent, layout: EditorLayouts) {
        this.selectedLayout = layout;
        this.initSplitInstance();
      }
    

    Is there a way to do this more efficiently? maybe not destroying the instance, just update it?

    opened by faizananwerali 0
Releases(v1.5.9)
  • v1.5.9(Nov 5, 2018)

  • v1.5.7(Oct 26, 2018)

    Fixes:

    • Fixes an issue with sizes and setSizes where passing very low values like 0 that computed to less than the size of the gutter, would break the layout - thanks @Autre31415!
    Source code(tar.gz)
    Source code(zip)
  • v1.5.6(Oct 22, 2018)

  • v1.5.5(Oct 18, 2018)

  • v1.5.4(Oct 15, 2018)

    Changes:

    • Adds an index argument to elementStyle and gutterStyle - thanks @joelbyrd @igoriok1994

    Fixes:

    • Fix a typo in error message - thanks @bradleyjkemp
    • Corrects default dragInterval value - thanks @adrianbj
    • Prevent gutter from jumping when dragging - thanks @davidje13
    • Updates type defs
    Source code(tar.gz)
    Source code(zip)
  • v1.5.3(Oct 12, 2018)

  • v1.5.2(Oct 9, 2018)

  • v1.5.1(Oct 9, 2018)

  • v1.5.0(Oct 9, 2018)

    Changes:

    • Adds expandToMin option
    • Adds option to preserve gutter on destroy
    • Adds pairElement argument to gutter function

    Fixes:

    • Collapsing an element no longer sets it's width to 0, rather, it uses the minSize
    Source code(tar.gz)
    Source code(zip)
  • v1.4.0(Oct 4, 2018)

    Changes:

    • Add correct Typescript typings - thanks @searene
    • Adds API option to maintain sizes on destroy - thanks @frumbert
    • Better error if selector is not found - thanks @turok1997
    • pairs and parent properties now exposed - thanks @saluce65
    • New website: https://split.js.org

    Fixes:

    • Improves LTR/RTL support - thanks @TpSr52
    • Fixes a bug where the cursor would change when leaving the parent element - thanks @davidje13
    Source code(tar.gz)
    Source code(zip)
  • v1.3.5(May 30, 2017)

    Fixes:

    • Fixes a floating point bug where setting and getting split sizes would progressively creep lower - thanks @Wyzix33, @weltschmerz1, @sanleong
    Source code(tar.gz)
    Source code(zip)
  • v1.3.4(May 28, 2017)

  • v1.3.3(May 27, 2017)

  • v1.3.2(May 24, 2017)

  • v1.3.1(May 24, 2017)

  • v1.3.0(May 23, 2017)

    Breaking changes:

    • IE8 now requires more polyfills to simplify code maintenance for modern browsers. This allows Split.js to move forward with ES5 language features, while maintaining it's tiny bundle size.

    Other changes:

    • Behind the scenes, Split.js now uses Rollup and Buble to compile ES6 to ES5.
    • Better linting rules
    • Published on Yarn as well as NPM and Bower.
    • Reduced bundle size by 70 bytes
    • Testing is now sponsored by BrowserStack and runs on each supported browser
    • Build size is now reported in npm run build
    Source code(tar.gz)
    Source code(zip)
  • v1.2.0(Dec 29, 2016)

    Semi-breaking changes:

    • minSizes no longer takes precedence over initial sizes. This fixes an issue where elements were having pixel values assigned instead of calc values. Now, if a percentage size is less than a minSize, the minSize is updated to match the initial size. This provides better support for small parent element sizes. Double check that you aren't setting incompatible initial size and minSize settings if you rely on the previous behavior.

    Changes:

    • When dividing by the parent percentage by an uneven number, the float division can add up to slightly more than 100% (ie. 100.0025%). This is fixed by subtracting 0.5 pixels from the offset.
    • Version numbers are now included in the minified build.
    Source code(tar.gz)
    Source code(zip)
  • v1.1.4(Dec 28, 2016)

  • v1.1.3(Dec 28, 2016)

    Changes:

    • Implement customizable elementStyle and gutterStyle functions to support alternate CSS layouts like flexbox - thanks @ambischof

    Fixes:

    • A bug in IE8 where the element size was not set correctly.
    Source code(tar.gz)
    Source code(zip)
  • v1.1.2(Dec 26, 2016)

  • v1.1.1(Nov 2, 2016)

  • v1.1.0(Nov 1, 2016)

    Changes:

    • Fixes an issue where splits could overflow when minSize was 0 or less than gutter.
    • Adds two new APIs for interacting with a split instance:
    • setSizes([]) behaves the same as the sizes configuration option.
    • collapse(index) collapses the element at index.
    Source code(tar.gz)
    Source code(zip)
  • v1.0.7(Jul 7, 2016)

  • v1.0.6(Dec 8, 2015)

  • v1.0.5(Dec 7, 2015)

    Changes:

    • Fixed a bug where cursors changed on dragging - thanks @ozguruysal!
    • Added support for HTML elements instead of just selectors - thanks @davidmaxwaterman!
    Source code(tar.gz)
    Source code(zip)
  • v1.0.4(Nov 25, 2015)

  • v1.0.3(Nov 25, 2015)

  • v1.0.2(Nov 19, 2015)

  • v1.0.1(Nov 19, 2015)

  • v1.0.0(Nov 16, 2015)

    Breaking Changes:

    • Switch from element IDs to query selectors - thanks @gsanta!

    Migration to 1.0:

    • Add # to IDs. If you previously had Split(['a', 'b']), this is now Split(['#a', '#b'])
    Source code(tar.gz)
    Source code(zip)
Owner
Nathan Cahill
Nathan Cahill
Hemsida för personer i Sverige som kan och vill erbjuda boende till mÀnniskor pÄ flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
High performance JSX web views for S.js applications

Surplus const name = S.data("world"), view = <h1>Hello {name()}!</h1>; document.body.appendChild(view); Surplus is a compiler and runtime to all

Adam Haile 587 Dec 30, 2022
A simple yet feature-rich counter that allows you to count the views of your Github README files and profile page

View Counter Purpose This is a simple yet feature-rich counter that allows you to count the views of your github README files and profile page. Featur

Toby Hagan 4 Nov 10, 2022
↔ Swipe through Home Assistant Dashboard views on mobile.

Home Assistant Swipe Navigation Swipe through Home Assistant Dashboard views on mobile. This repository has been forked from maykar/lovelace-swipe-nav

Zanna_37 71 Dec 26, 2022
GameLand is an online gaming web application that allows users to view different kind of games available and share their views on each game.

GameLand is an online gaming web application that allows users to view different kind of games available and share their views on each game.Users can like and make reservations to play online. Built with HTML/CSS , JAVASCRIPT,API.

tarike bouari 6 Sep 9, 2022
jQuery Split Pane plugin

split-pane jQuery Split Pane plugin The plugin should work in IE8 and above as well as in Chrome, Safari and Firefox. You can download split-pane.js a

Simon Hagström 162 Dec 13, 2022
BCash is an app to help you keep track of who you owe and who owes you money in an easy way. Split your tabs and more.

BCash BCash is an app to help you keep track of who you owe and who owes you money in an easy way. Split your tabs and more. Routes for develpment: lo

Cuitlahuac Maldonado 3 Aug 11, 2022
🏏 GitHub action to split your Git release tag into SemVer 2.0 parts

?? Git Tag Action GitHub action to split your Git release tag into SemVer 2.0 parts This is a simple action to split your git tag, usually for release

Noel 5 Oct 31, 2022
Split bills between friends ;)

SplitWise - FindCoder.io Hackathon Submission Full stack application to split bills among friends ;) Frontend : https://tripsplits.netlify.app/registe

Aarhan Khan 32 Dec 25, 2022
Simple and minimal split pane component for Solid!

solid-split-pane Split pane component for Solid! Uses Split.Js under the hood. Takes all props that split.js takes, plus a gutterClass. (Q) Why not so

blusk 5 Oct 28, 2022
A module containing utilities for osu!droid and osu! in general.

About This module is published for my own convenience so that I can use it across multiple projects of mine without having to manually transfer files,

Rian 10 Dec 23, 2022
This plugin add a new utilities classes so you can use from 0% to 100%!

This plugin add new utilities classes so you can use from 0% to 100%!

Ehsan Akbarzadeh 2 Apr 3, 2022
A suite of utilities to add more features to the details element

A suite of utilities to add more features to the details element

Zach Leatherman 206 Dec 22, 2022
Manually curated collection of resources, plugins, utilities, and other assortments for the Sapphire Community projects.

Awesome Sapphire Manually curated collection of resources, plugins, utilities, and other assortments for the Sapphire Community projects. Has your pro

Sapphire 20 Dec 17, 2022
Basic types & utilities for Strapi v4 and plugin creators

Strapi v4 - Types & utilities Basic set of types and utilities for Strapi v4 and plugins creators A developers goodie for Strapi Headless CMS which pr

 VirtusLab Open-Source 7 Oct 14, 2022
logseq custom.js and custom.css utilities : resize query table columns, hide namespaces...

logseq-custom-files custom.js and custom.css utilities for Logseq. current version v20220331 query table view : add handles on the query table headers

null 44 Dec 7, 2022
A bunch of utilities for ProTanki.

ProTanki Utilities A bunch of utilities for ProTanki. packet-log.patch.txt Patch (manual applying via JPEXS Free Flash Decompiler) to log incoming and

Daniil Pryima 6 Nov 23, 2022
A Tailwind plugin that allows to create multiple groups utilities such as group-card or group-1 and works with Tailwind 3 features and all variations.

Tailwind Labeled Groups A plugin that allows to create multiple groups utilities such as group-card or group-1 and works with Tailwind 3 features and

Max 18 Nov 21, 2022