SDKs
Notable additions and updates to Flatfile core libraries
@flatfile/react@7.12.4
Fixes a bug when relaunching a re-used space. Resolves an issue causing the “Maximum update depth exceeded” React error when multiple Portals are used within the same FlatfileProvider (this is not supported). Introduces changes to the FlatfileContext and FlatfileProvider components to handle the onClose callback, using a mutable ref instead of state. Refactors the resetSpace function and introduces changes to handle the resetOnClose config option when re-using a space.
@flatfile/react@7.12.3
The release notes include a fix for a bug with the Workbook onSubmit functionality. Specifically, it addresses an issue where the onSubmit action was not being correctly added or updated in the workbook actions list. The fix ensures that the onSubmit action is properly added or updated when the onSubmit prop is provided, and that duplicates are not created if the action already exists. This change is relevant for developers using the Workbook component and expecting the onSubmit callback to be triggered when the workbook is submitted.
@flatfile/javascript@1.4.2
The JavaScript Portal style sheet is now attached only once, instead of every time the Portal is opened. This should improve performance and avoid redundant style sheet insertions.
A new option has been added to allow specifying submit complete options, giving more control over the behavior when submitting a job. Developers can now set the ‘acknowledge’ and ‘message’ properties when completing a job submission.
This would result in the job being completed with ‘acknowledge’ set to false and ‘message’ set to ‘Custom complete message’.
@flatfile/react@7.12.7
Added option submitSettings.startingJobMessage
to configure the initial
message displayed in the job progress modal.
@flatfile/react@7.12.2
The release includes a new removeSheet
method to allow removing a specific
sheet from the workbook by its sheet slug.
@flatfile/react@7.12.1
This release updates the @flatfile/react package to version 7.12.1. The update fixes a bug where the space was not completely reset upon closing the Flatfile Portal. Specifically, the changes ensure that when the Flatfile Portal is closed, the internal session space is reset, preventing any state from persisting between sessions.
@flatfile/javascript@1.4.1
The startFlatfile function has been exported from the package, allowing developers to invoke it directly. Additionally, the FlatfileClient type has been exported from the @flatfile/api package, providing developers with access to this type when using the @flatfile/javascript package.
@flatfile/react@7.12.0
This release includes the following changes:
A new onClose
event handler has been added to the useFlatfile
hook, allowing
developers to specify a callback function that is called when the Flatfile modal
is closed.
The missing stylesheet for the legacy useSpace
and usePortal
flows has been
restored, ensuring proper styling for these deprecated hooks.
By default, the Flatfile modal now fills the entire screen. Developers may need to adjust any style overrides to accommodate this change.
Additionally, a bug that prevented server-side configuration of Spaces has been fixed.
@flatfile/react@7.11.0
The CSS variable --ff-color-text
has been renamed to --ff-text-color
to be
consistent with other variable names. This change affects the text color used
throughout the Flatfile React components.
@flatfile/javascript@1.4.0
This exciting release adds internationalization support to the Flatfile JavaScript SDK. The SDK now detects the user’s browser language or allows specifying an override language. Translation strings are provided for the confirmation modal, error modal, and other UI elements. The SDK also includes functionality to handle missing translation keys and log them to the console.
Additionally, this release updates the modal logic to use functional components and make the text strings dynamic based on the provided translations or defaults.
A new util function initializeIFrameConfirmationModal
is introduced to handle
mounting the confirmation modal and its associated behaviors onto the iFrame
wrapper element. This function takes callbacks for the modal’s button click
actions (exit or stay) and text string providers for the modal’s title, message,
and button labels.
@flatfile/react@7.10.0
The FlatfileProvider
component now accepts a new styleSheetOptions
prop
which allows setting the nonce value and position of the injected stylesheet.
This gives more control over how the styles are applied.
The package now contains utility functions attachStyleSheet
and styleInject
to dynamically inject the stylesheet into the DOM at runtime. This replaces the
previous import of the stylesheet directly.
@flatfile/javascript@1.3.9
The createlistener function now takes an additional onClose
parameter. This
function is used to handle the closing of the Flatfile space, and it removes the
event listener and cleans up the DOM elements associated with the Flatfile
space. The initializeIFrameConfirmationModal
function has also been updated to
use the new closeSpaceNow
function, which simplifies the process of closing
the Flatfile space.
@flatfile/javascript@1.3.8
A bug fix for issues with the closeSpace.onClose()
function. This function is
called when the Flatfile space is closed, and the bug fix ensures that it works
correctly.
An improvement to the closing behavior of the Flatfile space. Instead of
removing the iframe element immediately, a new closeSpaceNow
function is
introduced, which handles removing the necessary elements and event listeners in
a more organized manner.
There is also an update to the way the confirmation modal is displayed when
closing the Flatfile space. Instead of using a separate event listener, the
closing logic is now handled within the existing closeFlatfileSpace
function,
which listens for the job:outcome-acknowledged
event and triggers the closing
process accordingly.
flatfile@3.7.0
The latest release of the flatfile package includes improvements for handling
file uploads and inferring event topics from arrays. Listeners using an array
syntax listener.on(['commit:created', 'layer:created'], (event) => {}
will now
correctly infer the event topics.
This release also includes a fix for handling file uploads with updated event
flatfile.upload
@flatfile/react@7.9.9
This release includes a fix to address instances where the iframe wasn’t ready
when the portal:initialize
call was posted. The fix ensures that the
portal:initialize
message is sent to the iframe only after it has finished
loading. This resolves an issue where the initialization process could sometimes
fail due to the iframe not being ready. Developers using the @flatfile/react
package will benefit from a more reliable initialization process for the
embedded Flatfile experience.
The new useIsIFrameLoaded
hook listens for the load
event on the iframe and
updates a state variable accordingly. The portal:initialize
message is then
sent only when the iframe has finished loading, ensuring a reliable
initialization process.
@flatfile/javascript@1.3.7
This release adds the ability to set the default page when preloading the
Flatfile Portal embed. Use updateDefaultPageInSpace
and findDefaultPage
to
specify which workbook, sheet, or document page should display initially.
@flatfile/listener@1.0.5
The unmount()
method has been added, allowing developers to cleanly disconnect
the event listener from the event driver. The EventDriver
class now includes
unmountEventHandler()
to remove attached event handlers, providing more
control over event listeners.
@flatfile/javascript@1.3.4
, @flatfile/javascript@1.3.6
,
@flatfile/listener@1.0.4
, @flatfile/react@7.9.3
The closeSpace.operation
and closeSpace.onClose
properties are now optional,
offering more flexibility. The @flatfile/embedded-utils
dependency is updated
to version 1.2.1, simplifying event listener setup with handlePostMessage
.
@flatfile/listener
now has optimized build tooling and updated dependencies,
improving compatibility and performance.
@flatfile/javascript@1.3.3
, @flatfile/react@7.9.2
This release enables clipboard read and write functionality within the embedded
Flatfile iframe component. Also, @flatfile/embedded-utils
is updated to
version 1.2.0.
@flatfile/react@7.9.1
This release improves the submission process. After data upload, the onSubmit
action handlers now acknowledge the job automatically, enhancing user feedback.
@flatfile/listener@1.0.2
, @flatfile/react@7.9.0
@flatfile/listener
now supports removing event listeners with off()
and
detach()
methods. The FlatfileProvider
component sets up a FlatfileContext
with configurations for Space
, Workbook
, Document
, and event handlers.
@flatfile/javascript@1.3.2
, @flatfile/react@7.8.12
Updates to dependencies and improvements in performance for both packages.
@flatfile/embedded-utils
dependency updated to 1.1.14.
@flatfile/javascript@1.3.1
, @flatfile/react@7.8.11
Updated @flatfile/embedded-utils
to version 1.1.13. Simplified logic for
setting sidebarConfig
when initializing a new Flatfile import space.
@flatfile/react@7.8.10
Fixed a bug in the usePortal
hook related to the onSubmit
function, ensuring
reliable unmounting of the iframe.
@flatfile/javascript@1.3.0
, @flatfile/react@7.8.9
Added initNewSpace
utility to create a new space, workbook, and document in a
single API request. The environmentId
parameter is now optional.
@flatfile/react@7.8.8
Fixed an issue where the embedded Flatfile iframe would not be removed properly if there was an error during initialization.
@flatfile/javascript@1.2.6
@flatfile/react@7.8.7
Updated the space creation request to only include defined parameters. Improved reliability and efficiency of data import experience.
@flatfile/javascript@1.2.5
@flatfile/react@7.8.6
startFlatfile
function now accepts new optional parameters, including
namespace, metadata, labels, translation path, and language override, providing
more customization.
@flatfile/javascript@1.2.3
@flatfile/javascript@1.2.4
@flatfile/react@7.8.4
@flatfile/react@7.8.5
Updated default spaces URL to avoid unnecessary preflight requests. Improved
support for nested entrypoints in package.json
.
@flatfile/react@7.8.3
Fixed bug related to updating the authentication token for the
@flatfile/listener
package, ensuring secure and authorized communication.
@flatfile/javascript@1.2.2
@flatfile/listener@1.0.1
@flatfile/react@7.8.2
Added exports and browser fields in package.json
for better module resolution
and compatibility. Updated dependencies for improved stability.
@flatfile/javascript@1.1.7
@flatfile/javascript@1.2.0
@flatfile/javascript@1.2.1
@flatfile/react@7.8.0
@flatfile/react@7.8.1
Removed global style overrides from SDKs, improving compatibility. Updated dependencies and improved type support for better integration experience.
@flatfile/javascript@1.1.6
Added functionality to remove the event listener after submit and close actions, improving memory management.
@flatfile/javascript@1.1.5
@flatfile/listener@0.4.2
The @flatfile/javascript
package update includes a better-organized
package.json and fixes for type conflicts with peer dependencies. These changes
ensure a smoother development experience and easier integration. The
@flatfile/listener
package resolves type conflicts with peer dependencies and
improves type compatibility.
@flatfile/javascript@1.1.4
The confirmation modal’s close action is now independent of user parameters, ensuring the modal is consistently removed from the DOM when closed.
@flatfile/javascript@1.1.3
@flatfile/listener@0.4.1
The @flatfile/javascript
package consolidates source code, generates type
declarations, and re-exports modules for convenience. The @flatfile/listener
package update enhances exports and adds dotenv dependency for better
environment variable management.
@flatfile/javascript@1.1.2
This release fixes an issue when reusing an existing Flatfile space and adds
support for passing an existing space object to startFlatfile
.
@flatfile/javascript@1.1.0
The new release introduces preloading the Flatfile embed iFrame, initializing without a space ID, and adding additional metadata when creating a space. The pubnub dependency has been removed.
Updated to version 1.1.1 with a bug fix and dependency updates for improved reliability.
@flatfile/react@7.5.4
@flatfile/react@7.6.0
The @flatfile/react
update bundles @flatfile/api
and removes the pubnub
dependency. The package now listens for window message events directly.
@flatfile/javascript@0.3.2
@flatfile/listener@0.4.0
@flatfile/react@7.5.3
Updates include better browser compatibility, gzipping request bodies, and using
Rollup for bundling. Dependencies for @flatfile/react
are also updated for
better performance and reliability.
@flatfile/react@7.5.2
The @flatfile/react
package removes the styled-components dependency,
migrating styles to SCSS for improved performance and maintainability.
@flatfile/listener@0.3.19
The @flatfile/listener
package now compresses the request body using pako
compression by default when calling the update()
method. This reduces network
bandwidth usage and transfer times.
@flatfile/listener@0.3.18
The EventCallback
type now expects a Promise to be returned, allowing
developers to use async/await for greater flexibility and control over
asynchronous operations.
@flatfile/javascript@0.3.1
@flatfile/react@7.5.1
The UMD build file for the @flatfile/javascript
package is renamed to
dist/index.js
. The @flatfile/react
package update simplifies the import
process by using dist/index.js
for browser environments.
@flatfile/javascript@0.3.0
@flatfile/react@7.5.0
The @flatfile/javascript
package includes bundle optimizations and a new
option to keep the space after submitting data. The @flatfile/react
package
improves accessibility with the close button’s type="button"
attribute and
adds the option to keep the space active after submission.
@flatfile/javascript@0.2.2
@flatfile/react@7.4.0
The @flatfile/javascript
package introduces a new Simplified React Flow and
updates dependencies. The @flatfile/react
package adds a usePortal
hook for
a smoother integration experience.
@flatfile/react@7.3.1
The useSpaceTrigger
hook has been renamed to initializeFlatfile
, and
createOrUseSpace
has been renamed to OpenEmbed
for better clarity.
@flatfile/javascript@0.2.1
Re-introduces the initializeFlatfile
method, fixing issues with the submit
action and simplifying the user experience.
@flatfile/javascript@0.2.0
Simplifies the integration flow by allowing developers to provide sheet configurations directly and introducing new utilities for record-level hooks and job submissions.
@flatfile/react@7.3.0
The new useSpaceTrigger
hook allows developers to control when the Flatfile
import experience is triggered.
@flatfile/javascript@0.1.27
@flatfile/react@7.2.34
All parameters are now seamlessly passed to the API when creating a Workbook client-side.
@flatfile/react@7.2.32
@flatfile/react@7.2.33
Removed styled-components
from peer dependencies and resolving an issue with
the change.
@flatfile/listener@0.3.17
Resolved an issue where axios
and its associated HTTP methods were
unavailable.
@flatfile/javascript@0.1.25
- Implemented UMD build type for seamless compatibility with Content Delivery Networks (CDNs).
- Updated dependencies:
@flatfile/listener@0.3.16
@flatfile/listener@0.3.16
Adds UMD build type for working with CDNs.
@flatfile/react@7.2.31
@flatfile/javascript@0.1.24
- Enhanced performance by updating package versions and removing unused dependencies
- Updated dependencies:
@flatfile/embedded-utils@1.0.7
@flatfile/react@7.2.29-30
@flatfile/javascript@0.1.22-3
Implemented the use of rollup.js
for bundling purposes, enhancing the
project’s build process.
@flatfile/react@7.2.28
@flatfile/javascript@0.1.21
- Updated dependency:
@flatfile/api@1.5.31
@flatfile/javascript@0.1.20
Streamlined the project by removing the unnecessary dotenv
dependency,
resulting in a cleaner and more efficient codebase.
@flatfile/javascript@0.1.19
@flatfile/react@7.2.27
When creating a Space, you may like to receive the spaceId
that was created to
tie it back to something in your platform. You can now receive this in the
Javascript SDK. This functionality is coming soon for the React SDK.
@flatfile/javascript@0.1.18
When creating a Space, you may like to receive the spaceId
that was created to
tie it back to something in your platform. You can now receive this in the
Javascript SDK. This functionality is coming soon for the React SDK.
@flatfile/javascript@0.1.17
@flatfile/react@7.2.24
In this version, we’ve made two important updates:
Auto-Added Labels for Embedded Spaces: Embedded spaces now come with auto-generated labels (that will be displayed in your Spaces Dashboard) for easier navigation and organization.
Listener loading Reordered: The listener is now created before the Workbook, allowing you to listen for workbook creation events within your listener for more streamlined and effective integration in client-side listeners.
@flatfile/javascript@0.1.13
You can now use @flatfile/api
inside a client-side listener without needing a
secret key. The listener will instead use the accessToken
created from your
publishableKey
.
@flatfile/javascript@0.1.11
@flatfile/react@7.2.21
In this version, we’ve made two important updates:
- We’ve changed the default setting for
sidebarConfig
to hide the sidebar, providing a cleaner and more focused workspace. - Now, when no
workbook
is set,autoConfigure
is automatically turned on for Space creation. This enables you to listen for thespace:configure
job in a server side listener.
@flatfile/plugin-record-hook@1.1.2
In this update, we’ve resolved a pesky bug that caused the message generated by
recordHook
to be overwritten when bulkRecordHook
was also in use.
Our solution? We’ve introduced caching, ensuring that both messages can coexist harmoniously.
@flatfile/react@7.2.20
@flatfile/javascript@0.1.8
@flatfile/react@7.2.20 & @flatfile/javascript@0.1.8
This version update introduces proper class names on the Error container so you can more easily control the look and feel of this component.
See all classes that can be overridden in CSS in the Reference.
@flatfile/react@7.2.18
This version introduces the following notable updates:
-
Enhanced Close Dialog: Class names have been incorporated for all elements within the close dialog, which becomes visible when closing the embedded Flatfile component. This improvement gives you more control on styling.
-
Utilization of Shared Utilities: The integration now utilizes the shared
@flatfile/embedded-utils
module. This change lays the groundwork for consistent properties to be shared across all Flatfile wrapper SDKs, promoting standardization and ease of maintenance. -
Dependency Refinement: The dependencies on
vite
and@flatfile/configure
have been removed. This streamlines the codebase and reduces unnecessary dependencies, contributing to a more efficient and lightweight integration.
@flatfile/react@7.2.17
An improvement was made to add the userInfo
param on metadata
in a more
comprehensible way.
@flatfile/api@1.5.21
The response type for the getRecordsAsCSV
endpoint was incorrectly typed as a
string instead of a file. This fixes downloading a sheet as a CSV via SDk.
@flatfile/listener@0.3.15
This version has four great updates:
- Previously, you had to fake-out TypeScript because the event time was not
exposed (it was a private class variable) for FlatfileEvents. We have now
added
createdAt
to the FlatfileEvent. - Axios responses 200-399 now no longer throw Errors.
- Created a secrets cache based on
spaceId
. - Previously, if your listener fetched secrets for multiple environments, those maps would entirely override each other.
- If your listener fetched
spaceId
overrides first, and then environment — you would get the space id overrides. - We now make sure that the fetch URL in the listener is formatted properly whether or not the user puts a trailing slash in the environment variable.
@flatfile/listener@0.3.14
event.secrets
now defaults to spaceId
. It will throw if no environmentId
is available for secrets retrieval.
@flatfile/react@7.2.15
You can now pass in a spacebody. This will allowyou to send more than any already-defined parameters allowed on space creation.
@flatfile/react@7.2.14
The close button and iframe now have a proper class name to allow for CSS overrides.