npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@fullstory/form-core

v0.0.11

Published

FullStory Forms Core is a JavaScript Survey Library powered by Survey.js. It is a modern way to add a survey to your website. It uses JSON for survey metadata and results.

Readme

Fullstory Forms Core Library

This project is a fork of survey.js customized for compatibility with Fullstory tools.

Purpose

This form solution seemlessly integrates with the Fullstory by creating auto generated api defined elements on the form, fields, and buttons.

How it differs from SurveyJS Core Library

Updates to the Survey Model, Base Model, individual Question Models, and Action Models have been created in order to maintain and update element data properties.

Survey Class Updates

In survey.ts

  • createBlockList function which is to be called after model instantiation. The purpose of this is to call Fullstory's blocklist at the beginning of the session and store it with the model as a way to maintain privacy rules.
  • updateButtonValuesCallBack updates the button with the form field values as data properties.
  • deleteButtonValuesCallBack deletes values on the button when the corresponding field values are deleted from the form.

Base Class Updates

In base.ts

  • getDataElement gets the initial data properties for the element.
  • createElementData: creates the data properties and corresponding property schema
  • getDataType: returns the data type of the property for the property schema
  • getTypeOfObject: returns the type of object being used on the property
  • getDataElementItem: gets the initial data properties for an element that is an item like a checkbox item or radio item. It utilizes the same functions as getDataElement The difference is this function applies a selected property to the element which indicates if the item was selected or not.
  • traverseBlocked: traverses an elements children to looked for blocked elements. If a child element is blocked return true otherwise return false.
  • isBlocked: matches the element against the Fullstory blocklist
  • updateDataValue: Updates the element with the form field values.
  • updatePropertySchema: updates the property schema with the new property and value data type
  • deleteFromPropertySchema: deletes a property and data type from the elements property schema

Action Class

In src/actions/action.ts

  • dataProperties: property that lives on the Action class and holds property data
  • elementData: gets the data properties.
  • getElementData: returns the data created by the function in the createElementData in the Base class
  • deleteElementData: deletes properties from the button
  • updateElementData: updates properties on the button.
  • setButtonProperties: sets the properties directly on the button

Pages and Panels

Pages and Panels also sustain data properties with elementData those changes can be found in the classes:

  • PanelModel
  • PageModel

Question Classes

Select classes have been updated to communicated property data to the library consuming the survey model. Each class is given the property elementData and a function to update and delete properties from the element. The list below is going to highlight which classes sustained updates

  • QuestionBooleanModel
  • QuestionCheckboxModel
  • QuestionDropdownModel
  • QuestionFileModel
  • QuestionImagePickerModel
  • MatrixCells
  • QuestionMatrixModel
  • MatrixRowModel
  • QuestionMatrixDynamicModel
  • QuestionMultipleTextModel
  • QuestionPanelDynamicModel
  • QuestionRadiogroupModel
  • QuestionRankingModel
  • QuestionRatingModel
  • RenderedRatingItem
  • QuestionSignaturePadModel
  • QuestionTagboxModel
  • QuestionTextModel
  • TextAreaModel
  • ItemValue (this class handles checkbox items, radio items, and matrix columns)

Survey Model (Platform-Independent Part)

Build Status Software License

A platform-independent survey model for SurveyJS Form Library. This package should be used with one of platform-specific UI rendering packages. Refer to the following Get Started tutorials for more information:

Resources

Build Survey Model from Sources

  1. Clone the repo

    git clone https://github.com/surveyjs/survey-library.git
    cd survey-library/packages/survey-core
  2. Install dependencies
    Make sure that you have Node.js v16 or later and a compatible npm version installed.

    ```
    npm install
    ```
  3. Build the library

    npm run build:all

    You can find the built scripts and style sheets in folders under the build directory.

  4. Run unit tests

    npm run test

    The unit tests use Karma.

After that, you can build one of the UI packages:

Licensing

SurveyJS Form Library is distributed under the MIT license.