/**
 * @license
 * Copyright 2023 Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
export class RippleFoundation {
    constructor(_adapter) {
        this._adapter = _adapter;
        this._unbounded = false;
    }
    initialize() {
        this._adapter.initialize(this._target, this._unbounded);
    }
    disconnect() {
        this._adapter.destroy();
    }
    layout() {
        this._applyTarget();
    }
    activate() {
        this._adapter.activate();
    }
    deactivate() {
        this._adapter.deactivate();
    }
    _applyTarget() {
        this._adapter.destroy();
        this._adapter.initialize(this._target, this._unbounded);
    }
    get target() {
        return this._target;
    }
    set target(value) {
        if (this._target !== value) {
            this._target = value;
            this._applyTarget();
        }
    }
    get unbounded() {
        return this._unbounded;
    }
    set unbounded(value) {
        if (this._unbounded !== value) {
            this._unbounded = value;
            this._applyTarget();
        }
    }
}
