@ni/nimble-components 32.13.0 → 33.0.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/dist/all-components-bundle.js +996 -1039
- package/dist/all-components-bundle.js.map +1 -1
- package/dist/all-components-bundle.min.js +5002 -5022
- package/dist/all-components-bundle.min.js.map +1 -1
- package/dist/esm/anchor/index.js +2 -2
- package/dist/esm/anchor/index.js.map +1 -1
- package/dist/esm/anchor/styles.d.ts +1 -1
- package/dist/esm/anchor/styles.js +1 -1
- package/dist/esm/anchor/styles.js.map +1 -1
- package/dist/esm/anchor/template.d.ts +2 -2
- package/dist/esm/anchor/template.js +1 -1
- package/dist/esm/anchor/template.js.map +1 -1
- package/dist/esm/anchor-base/index.d.ts +1 -1
- package/dist/esm/anchor-base/index.js +1 -1
- package/dist/esm/anchor-base/index.js.map +1 -1
- package/dist/esm/anchor-button/index.js +2 -2
- package/dist/esm/anchor-button/index.js.map +1 -1
- package/dist/esm/anchor-button/styles.d.ts +1 -1
- package/dist/esm/anchor-button/styles.js +1 -1
- package/dist/esm/anchor-button/styles.js.map +1 -1
- package/dist/esm/anchor-button/template.d.ts +2 -2
- package/dist/esm/anchor-button/template.js +2 -2
- package/dist/esm/anchor-button/template.js.map +1 -1
- package/dist/esm/anchor-menu-item/index.d.ts +1 -1
- package/dist/esm/anchor-menu-item/index.js +3 -3
- package/dist/esm/anchor-menu-item/index.js.map +1 -1
- package/dist/esm/anchor-menu-item/styles.d.ts +1 -1
- package/dist/esm/anchor-menu-item/styles.js +1 -1
- package/dist/esm/anchor-menu-item/styles.js.map +1 -1
- package/dist/esm/anchor-menu-item/template.d.ts +2 -2
- package/dist/esm/anchor-menu-item/template.js +2 -2
- package/dist/esm/anchor-menu-item/template.js.map +1 -1
- package/dist/esm/anchor-tab/index.d.ts +1 -1
- package/dist/esm/anchor-tab/index.js +2 -2
- package/dist/esm/anchor-tab/index.js.map +1 -1
- package/dist/esm/anchor-tab/styles.d.ts +1 -1
- package/dist/esm/anchor-tab/styles.js +1 -1
- package/dist/esm/anchor-tab/styles.js.map +1 -1
- package/dist/esm/anchor-tab/template.d.ts +2 -2
- package/dist/esm/anchor-tab/template.js +2 -2
- package/dist/esm/anchor-tab/template.js.map +1 -1
- package/dist/esm/anchor-tabs/index.d.ts +1 -1
- package/dist/esm/anchor-tabs/index.js +3 -3
- package/dist/esm/anchor-tabs/index.js.map +1 -1
- package/dist/esm/anchor-tree-item/index.js +3 -3
- package/dist/esm/anchor-tree-item/index.js.map +1 -1
- package/dist/esm/anchor-tree-item/styles.d.ts +1 -1
- package/dist/esm/anchor-tree-item/styles.js +1 -1
- package/dist/esm/anchor-tree-item/styles.js.map +1 -1
- package/dist/esm/anchor-tree-item/template.d.ts +2 -2
- package/dist/esm/anchor-tree-item/template.js +2 -2
- package/dist/esm/anchor-tree-item/template.js.map +1 -1
- package/dist/esm/anchored-region/index.d.ts +1 -1
- package/dist/esm/anchored-region/index.js +1 -1
- package/dist/esm/anchored-region/index.js.map +1 -1
- package/dist/esm/anchored-region/styles.d.ts +1 -1
- package/dist/esm/anchored-region/styles.js +1 -1
- package/dist/esm/anchored-region/styles.js.map +1 -1
- package/dist/esm/banner/index.d.ts +1 -1
- package/dist/esm/banner/index.js +2 -2
- package/dist/esm/banner/index.js.map +1 -1
- package/dist/esm/banner/styles.d.ts +1 -1
- package/dist/esm/banner/styles.js +1 -1
- package/dist/esm/banner/styles.js.map +1 -1
- package/dist/esm/banner/template.d.ts +1 -1
- package/dist/esm/banner/template.js +1 -1
- package/dist/esm/banner/template.js.map +1 -1
- package/dist/esm/breadcrumb/index.d.ts +1 -1
- package/dist/esm/breadcrumb/index.js +2 -2
- package/dist/esm/breadcrumb/index.js.map +1 -1
- package/dist/esm/breadcrumb/styles.d.ts +1 -1
- package/dist/esm/breadcrumb/styles.js +1 -1
- package/dist/esm/breadcrumb/styles.js.map +1 -1
- package/dist/esm/breadcrumb-item/index.d.ts +1 -1
- package/dist/esm/breadcrumb-item/index.js +1 -1
- package/dist/esm/breadcrumb-item/index.js.map +1 -1
- package/dist/esm/breadcrumb-item/styles.d.ts +1 -1
- package/dist/esm/breadcrumb-item/styles.js +1 -1
- package/dist/esm/breadcrumb-item/styles.js.map +1 -1
- package/dist/esm/button/index.d.ts +1 -1
- package/dist/esm/button/index.js +3 -3
- package/dist/esm/button/index.js.map +1 -1
- package/dist/esm/button/styles.d.ts +1 -1
- package/dist/esm/button/styles.js +1 -1
- package/dist/esm/button/styles.js.map +1 -1
- package/dist/esm/button/template.d.ts +2 -2
- package/dist/esm/button/template.js +2 -2
- package/dist/esm/button/template.js.map +1 -1
- package/dist/esm/button/types.d.ts +1 -1
- package/dist/esm/button/types.js.map +1 -1
- package/dist/esm/card/index.d.ts +1 -1
- package/dist/esm/card/index.js +1 -1
- package/dist/esm/card/index.js.map +1 -1
- package/dist/esm/card/styles.d.ts +1 -1
- package/dist/esm/card/styles.js +1 -1
- package/dist/esm/card/styles.js.map +1 -1
- package/dist/esm/card/template.d.ts +1 -1
- package/dist/esm/card/template.js +1 -1
- package/dist/esm/card/template.js.map +1 -1
- package/dist/esm/card-button/index.d.ts +1 -1
- package/dist/esm/card-button/index.js +3 -3
- package/dist/esm/card-button/index.js.map +1 -1
- package/dist/esm/card-button/styles.d.ts +1 -1
- package/dist/esm/card-button/styles.js +1 -1
- package/dist/esm/card-button/styles.js.map +1 -1
- package/dist/esm/checkbox/index.d.ts +2 -2
- package/dist/esm/checkbox/index.js +2 -2
- package/dist/esm/checkbox/index.js.map +1 -1
- package/dist/esm/checkbox/styles.d.ts +1 -1
- package/dist/esm/checkbox/styles.js +1 -1
- package/dist/esm/checkbox/styles.js.map +1 -1
- package/dist/esm/checkbox/template.d.ts +2 -2
- package/dist/esm/checkbox/template.js +1 -1
- package/dist/esm/checkbox/template.js.map +1 -1
- package/dist/esm/combobox/index.d.ts +3 -3
- package/dist/esm/combobox/index.js +3 -3
- package/dist/esm/combobox/index.js.map +1 -1
- package/dist/esm/combobox/models/combobox-form-associated.d.ts +1 -1
- package/dist/esm/combobox/models/combobox-form-associated.js +1 -1
- package/dist/esm/combobox/models/combobox-form-associated.js.map +1 -1
- package/dist/esm/combobox/styles.d.ts +1 -1
- package/dist/esm/combobox/styles.js +1 -1
- package/dist/esm/combobox/styles.js.map +1 -1
- package/dist/esm/combobox/template.d.ts +2 -2
- package/dist/esm/combobox/template.js +2 -2
- package/dist/esm/combobox/template.js.map +1 -1
- package/dist/esm/combobox/testing/combobox.pageobject.js +1 -1
- package/dist/esm/combobox/testing/combobox.pageobject.js.map +1 -1
- package/dist/esm/combobox/types.d.ts +1 -1
- package/dist/esm/combobox/types.js +1 -1
- package/dist/esm/combobox/types.js.map +1 -1
- package/dist/esm/dialog/index.d.ts +1 -1
- package/dist/esm/dialog/index.js +2 -2
- package/dist/esm/dialog/index.js.map +1 -1
- package/dist/esm/dialog/styles.d.ts +1 -1
- package/dist/esm/dialog/styles.js +1 -1
- package/dist/esm/dialog/styles.js.map +1 -1
- package/dist/esm/dialog/template.d.ts +1 -1
- package/dist/esm/dialog/template.js +1 -1
- package/dist/esm/dialog/template.js.map +1 -1
- package/dist/esm/drawer/index.d.ts +1 -1
- package/dist/esm/drawer/index.js +3 -3
- package/dist/esm/drawer/index.js.map +1 -1
- package/dist/esm/drawer/styles.d.ts +1 -1
- package/dist/esm/drawer/styles.js +1 -1
- package/dist/esm/drawer/styles.js.map +1 -1
- package/dist/esm/drawer/template.d.ts +1 -1
- package/dist/esm/drawer/template.js +1 -1
- package/dist/esm/drawer/template.js.map +1 -1
- package/dist/esm/icon-base/index.d.ts +1 -1
- package/dist/esm/icon-base/index.js +2 -2
- package/dist/esm/icon-base/index.js.map +1 -1
- package/dist/esm/icon-base/styles.d.ts +1 -1
- package/dist/esm/icon-base/styles.js +1 -1
- package/dist/esm/icon-base/styles.js.map +1 -1
- package/dist/esm/icon-base/template.d.ts +1 -1
- package/dist/esm/icon-base/template.js +1 -1
- package/dist/esm/icon-base/template.js.map +1 -1
- package/dist/esm/label-provider/base/index.d.ts +2 -2
- package/dist/esm/label-provider/base/index.js +2 -2
- package/dist/esm/label-provider/base/index.js.map +1 -1
- package/dist/esm/label-provider/base/styles.d.ts +1 -1
- package/dist/esm/label-provider/base/styles.js +1 -1
- package/dist/esm/label-provider/base/styles.js.map +1 -1
- package/dist/esm/label-provider/core/index.d.ts +22 -22
- package/dist/esm/label-provider/core/index.js +2 -2
- package/dist/esm/label-provider/core/index.js.map +1 -1
- package/dist/esm/label-provider/core/label-tokens.d.ts +1 -1
- package/dist/esm/label-provider/core/label-tokens.js +1 -1
- package/dist/esm/label-provider/core/label-tokens.js.map +1 -1
- package/dist/esm/label-provider/rich-text/index.d.ts +8 -8
- package/dist/esm/label-provider/rich-text/index.js +2 -2
- package/dist/esm/label-provider/rich-text/index.js.map +1 -1
- package/dist/esm/label-provider/rich-text/label-tokens.d.ts +1 -1
- package/dist/esm/label-provider/rich-text/label-tokens.js +1 -1
- package/dist/esm/label-provider/rich-text/label-tokens.js.map +1 -1
- package/dist/esm/label-provider/table/index.d.ts +32 -32
- package/dist/esm/label-provider/table/index.js +2 -2
- package/dist/esm/label-provider/table/index.js.map +1 -1
- package/dist/esm/label-provider/table/label-tokens.d.ts +1 -1
- package/dist/esm/label-provider/table/label-tokens.js +1 -1
- package/dist/esm/label-provider/table/label-tokens.js.map +1 -1
- package/dist/esm/list-option/index.d.ts +1 -1
- package/dist/esm/list-option/index.js +2 -2
- package/dist/esm/list-option/index.js.map +1 -1
- package/dist/esm/list-option/styles.d.ts +1 -1
- package/dist/esm/list-option/styles.js +1 -1
- package/dist/esm/list-option/styles.js.map +1 -1
- package/dist/esm/list-option/template.d.ts +3 -3
- package/dist/esm/list-option/template.js +3 -3
- package/dist/esm/list-option/template.js.map +1 -1
- package/dist/esm/list-option-group/index.d.ts +1 -1
- package/dist/esm/list-option-group/index.js +2 -2
- package/dist/esm/list-option-group/index.js.map +1 -1
- package/dist/esm/list-option-group/styles.d.ts +1 -1
- package/dist/esm/list-option-group/styles.js +1 -1
- package/dist/esm/list-option-group/styles.js.map +1 -1
- package/dist/esm/list-option-group/template.d.ts +1 -1
- package/dist/esm/list-option-group/template.js +1 -1
- package/dist/esm/list-option-group/template.js.map +1 -1
- package/dist/esm/mapping/base/index.d.ts +1 -1
- package/dist/esm/mapping/base/index.js +2 -2
- package/dist/esm/mapping/base/index.js.map +1 -1
- package/dist/esm/mapping/base/styles.d.ts +1 -1
- package/dist/esm/mapping/base/styles.js +1 -1
- package/dist/esm/mapping/base/styles.js.map +1 -1
- package/dist/esm/mapping/base/template.d.ts +1 -1
- package/dist/esm/mapping/base/template.js +1 -1
- package/dist/esm/mapping/base/template.js.map +1 -1
- package/dist/esm/mapping/empty/index.js +2 -2
- package/dist/esm/mapping/empty/index.js.map +1 -1
- package/dist/esm/mapping/icon/index.js +2 -2
- package/dist/esm/mapping/icon/index.js.map +1 -1
- package/dist/esm/mapping/spinner/index.js +2 -2
- package/dist/esm/mapping/spinner/index.js.map +1 -1
- package/dist/esm/mapping/text/index.js +2 -2
- package/dist/esm/mapping/text/index.js.map +1 -1
- package/dist/esm/mapping/user/index.js +2 -2
- package/dist/esm/mapping/user/index.js.map +1 -1
- package/dist/esm/menu/index.js +2 -2
- package/dist/esm/menu/index.js.map +1 -1
- package/dist/esm/menu/menu.foundation.d.ts +1 -1
- package/dist/esm/menu/menu.foundation.js +3 -3
- package/dist/esm/menu/menu.foundation.js.map +1 -1
- package/dist/esm/menu/styles.d.ts +1 -1
- package/dist/esm/menu/styles.js +1 -1
- package/dist/esm/menu/styles.js.map +1 -1
- package/dist/esm/menu/template.d.ts +2 -2
- package/dist/esm/menu/template.js +1 -1
- package/dist/esm/menu/template.js.map +1 -1
- package/dist/esm/menu-button/index.d.ts +1 -1
- package/dist/esm/menu-button/index.js +3 -3
- package/dist/esm/menu-button/index.js.map +1 -1
- package/dist/esm/menu-button/styles.d.ts +1 -1
- package/dist/esm/menu-button/styles.js +1 -1
- package/dist/esm/menu-button/styles.js.map +1 -1
- package/dist/esm/menu-button/template.d.ts +1 -1
- package/dist/esm/menu-button/template.js +1 -1
- package/dist/esm/menu-button/template.js.map +1 -1
- package/dist/esm/menu-button/testing/menu-button.pageobject.js +1 -1
- package/dist/esm/menu-button/testing/menu-button.pageobject.js.map +1 -1
- package/dist/esm/menu-item/index.d.ts +1 -1
- package/dist/esm/menu-item/index.js +2 -2
- package/dist/esm/menu-item/index.js.map +1 -1
- package/dist/esm/menu-item/styles.d.ts +1 -1
- package/dist/esm/menu-item/styles.js +1 -1
- package/dist/esm/menu-item/styles.js.map +1 -1
- package/dist/esm/number-field/index.d.ts +3 -3
- package/dist/esm/number-field/index.js +2 -2
- package/dist/esm/number-field/index.js.map +1 -1
- package/dist/esm/number-field/styles.d.ts +1 -1
- package/dist/esm/number-field/styles.js +1 -1
- package/dist/esm/number-field/styles.js.map +1 -1
- package/dist/esm/number-field/template.d.ts +3 -3
- package/dist/esm/number-field/template.js +3 -3
- package/dist/esm/number-field/template.js.map +1 -1
- package/dist/esm/patterns/button/styles.d.ts +2 -2
- package/dist/esm/patterns/button/styles.js +1 -1
- package/dist/esm/patterns/button/styles.js.map +1 -1
- package/dist/esm/patterns/dropdown/styles.d.ts +1 -1
- package/dist/esm/patterns/dropdown/styles.js +1 -1
- package/dist/esm/patterns/dropdown/styles.js.map +1 -1
- package/dist/esm/patterns/error/styles.d.ts +1 -1
- package/dist/esm/patterns/error/styles.js +1 -1
- package/dist/esm/patterns/error/styles.js.map +1 -1
- package/dist/esm/patterns/error/template.d.ts +1 -1
- package/dist/esm/patterns/error/template.js +1 -1
- package/dist/esm/patterns/error/template.js.map +1 -1
- package/dist/esm/patterns/error/testing/error-pattern.pageobject.d.ts +1 -1
- package/dist/esm/patterns/error/testing/error-pattern.pageobject.js.map +1 -1
- package/dist/esm/patterns/error/types.d.ts +2 -2
- package/dist/esm/patterns/error/types.js +1 -1
- package/dist/esm/patterns/error/types.js.map +1 -1
- package/dist/esm/patterns/expand-collapse/styles.d.ts +1 -1
- package/dist/esm/patterns/expand-collapse/styles.js +1 -1
- package/dist/esm/patterns/expand-collapse/styles.js.map +1 -1
- package/dist/esm/patterns/required-visible/styles.d.ts +1 -1
- package/dist/esm/patterns/required-visible/styles.js +1 -1
- package/dist/esm/patterns/required-visible/styles.js.map +1 -1
- package/dist/esm/patterns/required-visible/template.d.ts +1 -1
- package/dist/esm/patterns/required-visible/template.js +1 -1
- package/dist/esm/patterns/required-visible/template.js.map +1 -1
- package/dist/esm/patterns/required-visible/testing/required-visible-pattern.pageobject.d.ts +1 -1
- package/dist/esm/patterns/required-visible/testing/required-visible-pattern.pageobject.js.map +1 -1
- package/dist/esm/patterns/required-visible/types.d.ts +2 -2
- package/dist/esm/patterns/required-visible/types.js +1 -1
- package/dist/esm/patterns/required-visible/types.js.map +1 -1
- package/dist/esm/patterns/tabs/styles.d.ts +1 -1
- package/dist/esm/patterns/tabs/styles.js +1 -1
- package/dist/esm/patterns/tabs/styles.js.map +1 -1
- package/dist/esm/patterns/tabs/template.d.ts +2 -2
- package/dist/esm/patterns/tabs/template.js +2 -2
- package/dist/esm/patterns/tabs/template.js.map +1 -1
- package/dist/esm/radio/index.d.ts +1 -1
- package/dist/esm/radio/index.js +1 -1
- package/dist/esm/radio/index.js.map +1 -1
- package/dist/esm/radio/styles.d.ts +1 -1
- package/dist/esm/radio/styles.js +1 -1
- package/dist/esm/radio/styles.js.map +1 -1
- package/dist/esm/radio-group/index.d.ts +4 -4
- package/dist/esm/radio-group/index.js +2 -2
- package/dist/esm/radio-group/index.js.map +1 -1
- package/dist/esm/radio-group/styles.d.ts +1 -1
- package/dist/esm/radio-group/styles.js +1 -1
- package/dist/esm/radio-group/styles.js.map +1 -1
- package/dist/esm/radio-group/template.d.ts +1 -1
- package/dist/esm/radio-group/template.js +2 -2
- package/dist/esm/radio-group/template.js.map +1 -1
- package/dist/esm/rich-text/base/index.d.ts +2 -2
- package/dist/esm/rich-text/base/index.js +2 -2
- package/dist/esm/rich-text/base/index.js.map +1 -1
- package/dist/esm/rich-text/editor/index.d.ts +2 -2
- package/dist/esm/rich-text/editor/index.js +3 -3
- package/dist/esm/rich-text/editor/index.js.map +1 -1
- package/dist/esm/rich-text/editor/models/create-tiptap-editor.js +1 -1
- package/dist/esm/rich-text/editor/models/create-tiptap-editor.js.map +1 -1
- package/dist/esm/rich-text/editor/styles.d.ts +1 -1
- package/dist/esm/rich-text/editor/styles.js +1 -1
- package/dist/esm/rich-text/editor/styles.js.map +1 -1
- package/dist/esm/rich-text/editor/template.d.ts +1 -1
- package/dist/esm/rich-text/editor/template.js +1 -1
- package/dist/esm/rich-text/editor/template.js.map +1 -1
- package/dist/esm/rich-text/editor/testing/rich-text-editor.pageobject.js +1 -1
- package/dist/esm/rich-text/editor/testing/rich-text-editor.pageobject.js.map +1 -1
- package/dist/esm/rich-text/editor/testing/types.js +1 -1
- package/dist/esm/rich-text/editor/testing/types.js.map +1 -1
- package/dist/esm/rich-text/mention-listbox/index.d.ts +1 -1
- package/dist/esm/rich-text/mention-listbox/index.js +3 -3
- package/dist/esm/rich-text/mention-listbox/index.js.map +1 -1
- package/dist/esm/rich-text/mention-listbox/styles.d.ts +1 -1
- package/dist/esm/rich-text/mention-listbox/styles.js +1 -1
- package/dist/esm/rich-text/mention-listbox/styles.js.map +1 -1
- package/dist/esm/rich-text/mention-listbox/template.d.ts +1 -1
- package/dist/esm/rich-text/mention-listbox/template.js +2 -2
- package/dist/esm/rich-text/mention-listbox/template.js.map +1 -1
- package/dist/esm/rich-text/models/mention-extension-configuration.d.ts +1 -1
- package/dist/esm/rich-text/models/mention-extension-configuration.js.map +1 -1
- package/dist/esm/rich-text/models/rich-text-tracker.js +1 -1
- package/dist/esm/rich-text/models/rich-text-tracker.js.map +1 -1
- package/dist/esm/rich-text/viewer/index.js +2 -2
- package/dist/esm/rich-text/viewer/index.js.map +1 -1
- package/dist/esm/rich-text/viewer/styles.d.ts +1 -1
- package/dist/esm/rich-text/viewer/styles.js +1 -1
- package/dist/esm/rich-text/viewer/styles.js.map +1 -1
- package/dist/esm/rich-text/viewer/template.d.ts +1 -1
- package/dist/esm/rich-text/viewer/template.js +1 -1
- package/dist/esm/rich-text/viewer/template.js.map +1 -1
- package/dist/esm/rich-text-mention/base/index.d.ts +2 -2
- package/dist/esm/rich-text-mention/base/index.js +2 -2
- package/dist/esm/rich-text-mention/base/index.js.map +1 -1
- package/dist/esm/rich-text-mention/base/models/mention-internals.d.ts +1 -1
- package/dist/esm/rich-text-mention/base/models/mention-internals.js +1 -1
- package/dist/esm/rich-text-mention/base/models/mention-internals.js.map +1 -1
- package/dist/esm/rich-text-mention/base/styles.d.ts +1 -1
- package/dist/esm/rich-text-mention/base/styles.js +1 -1
- package/dist/esm/rich-text-mention/base/styles.js.map +1 -1
- package/dist/esm/rich-text-mention/base/template.d.ts +1 -1
- package/dist/esm/rich-text-mention/base/template.js +1 -1
- package/dist/esm/rich-text-mention/base/template.js.map +1 -1
- package/dist/esm/rich-text-mention/base/view/index.d.ts +1 -1
- package/dist/esm/rich-text-mention/base/view/index.js +2 -2
- package/dist/esm/rich-text-mention/base/view/index.js.map +1 -1
- package/dist/esm/rich-text-mention/users/index.js +1 -1
- package/dist/esm/rich-text-mention/users/index.js.map +1 -1
- package/dist/esm/rich-text-mention/users/view/index.js +1 -1
- package/dist/esm/rich-text-mention/users/view/index.js.map +1 -1
- package/dist/esm/rich-text-mention/users/view/styles.d.ts +1 -1
- package/dist/esm/rich-text-mention/users/view/styles.js +1 -1
- package/dist/esm/rich-text-mention/users/view/styles.js.map +1 -1
- package/dist/esm/rich-text-mention/users/view/template.d.ts +1 -1
- package/dist/esm/rich-text-mention/users/view/template.js +1 -1
- package/dist/esm/rich-text-mention/users/view/template.js.map +1 -1
- package/dist/esm/select/index.d.ts +3 -3
- package/dist/esm/select/index.js +3 -3
- package/dist/esm/select/index.js.map +1 -1
- package/dist/esm/select/models/select-form-associated.d.ts +1 -1
- package/dist/esm/select/models/select-form-associated.js +1 -1
- package/dist/esm/select/models/select-form-associated.js.map +1 -1
- package/dist/esm/select/styles.d.ts +1 -1
- package/dist/esm/select/styles.js +1 -1
- package/dist/esm/select/styles.js.map +1 -1
- package/dist/esm/select/template.d.ts +2 -2
- package/dist/esm/select/template.js +2 -2
- package/dist/esm/select/template.js.map +1 -1
- package/dist/esm/select/testing/select.pageobject.js +1 -1
- package/dist/esm/select/testing/select.pageobject.js.map +1 -1
- package/dist/esm/spinner/index.d.ts +1 -1
- package/dist/esm/spinner/index.js +2 -2
- package/dist/esm/spinner/index.js.map +1 -1
- package/dist/esm/spinner/styles.d.ts +1 -1
- package/dist/esm/spinner/styles.js +1 -1
- package/dist/esm/spinner/styles.js.map +1 -1
- package/dist/esm/spinner/template.d.ts +1 -1
- package/dist/esm/spinner/template.js +1 -1
- package/dist/esm/spinner/template.js.map +1 -1
- package/dist/esm/switch/index.d.ts +1 -1
- package/dist/esm/switch/index.js +1 -1
- package/dist/esm/switch/index.js.map +1 -1
- package/dist/esm/switch/styles.d.ts +1 -1
- package/dist/esm/switch/styles.js +1 -1
- package/dist/esm/switch/styles.js.map +1 -1
- package/dist/esm/switch/template.d.ts +1 -1
- package/dist/esm/switch/template.js +1 -1
- package/dist/esm/switch/template.js.map +1 -1
- package/dist/esm/tab/index.d.ts +1 -1
- package/dist/esm/tab/index.js +1 -1
- package/dist/esm/tab/index.js.map +1 -1
- package/dist/esm/tab/styles.d.ts +1 -1
- package/dist/esm/tab/styles.js +1 -1
- package/dist/esm/tab/styles.js.map +1 -1
- package/dist/esm/tab-panel/index.d.ts +1 -1
- package/dist/esm/tab-panel/index.js +1 -1
- package/dist/esm/tab-panel/index.js.map +1 -1
- package/dist/esm/tab-panel/styles.d.ts +1 -1
- package/dist/esm/tab-panel/styles.js +1 -1
- package/dist/esm/tab-panel/styles.js.map +1 -1
- package/dist/esm/table/components/cell/index.d.ts +2 -2
- package/dist/esm/table/components/cell/index.js +2 -2
- package/dist/esm/table/components/cell/index.js.map +1 -1
- package/dist/esm/table/components/cell/styles.d.ts +1 -1
- package/dist/esm/table/components/cell/styles.js +1 -1
- package/dist/esm/table/components/cell/styles.js.map +1 -1
- package/dist/esm/table/components/cell/template.d.ts +1 -1
- package/dist/esm/table/components/cell/template.js +1 -1
- package/dist/esm/table/components/cell/template.js.map +1 -1
- package/dist/esm/table/components/group-row/index.d.ts +1 -1
- package/dist/esm/table/components/group-row/index.js +2 -2
- package/dist/esm/table/components/group-row/index.js.map +1 -1
- package/dist/esm/table/components/group-row/styles.d.ts +1 -1
- package/dist/esm/table/components/group-row/styles.js +1 -1
- package/dist/esm/table/components/group-row/styles.js.map +1 -1
- package/dist/esm/table/components/group-row/template.d.ts +1 -1
- package/dist/esm/table/components/group-row/template.js +1 -1
- package/dist/esm/table/components/group-row/template.js.map +1 -1
- package/dist/esm/table/components/header/index.d.ts +1 -1
- package/dist/esm/table/components/header/index.js +2 -2
- package/dist/esm/table/components/header/index.js.map +1 -1
- package/dist/esm/table/components/header/styles.d.ts +1 -1
- package/dist/esm/table/components/header/styles.js +1 -1
- package/dist/esm/table/components/header/styles.js.map +1 -1
- package/dist/esm/table/components/header/template.d.ts +1 -1
- package/dist/esm/table/components/header/template.js +1 -1
- package/dist/esm/table/components/header/template.js.map +1 -1
- package/dist/esm/table/components/row/index.d.ts +2 -2
- package/dist/esm/table/components/row/index.js +2 -2
- package/dist/esm/table/components/row/index.js.map +1 -1
- package/dist/esm/table/components/row/styles.d.ts +1 -1
- package/dist/esm/table/components/row/styles.js +1 -1
- package/dist/esm/table/components/row/styles.js.map +1 -1
- package/dist/esm/table/components/row/template.d.ts +1 -1
- package/dist/esm/table/components/row/template.js +1 -1
- package/dist/esm/table/components/row/template.js.map +1 -1
- package/dist/esm/table/index.d.ts +1 -1
- package/dist/esm/table/index.js +3 -3
- package/dist/esm/table/index.js.map +1 -1
- package/dist/esm/table/models/keyboard-navigation-manager.d.ts +1 -1
- package/dist/esm/table/models/keyboard-navigation-manager.js +3 -3
- package/dist/esm/table/models/keyboard-navigation-manager.js.map +1 -1
- package/dist/esm/table/models/table-layout-manager.js +1 -1
- package/dist/esm/table/models/table-layout-manager.js.map +1 -1
- package/dist/esm/table/models/table-update-tracker.js +1 -1
- package/dist/esm/table/models/table-update-tracker.js.map +1 -1
- package/dist/esm/table/models/virtualizer.js +1 -1
- package/dist/esm/table/models/virtualizer.js.map +1 -1
- package/dist/esm/table/styles.d.ts +1 -1
- package/dist/esm/table/styles.js +1 -1
- package/dist/esm/table/styles.js.map +1 -1
- package/dist/esm/table/template.d.ts +1 -1
- package/dist/esm/table/template.js +1 -1
- package/dist/esm/table/template.js.map +1 -1
- package/dist/esm/table/testing/table.pageobject.js +1 -1
- package/dist/esm/table/testing/table.pageobject.js.map +1 -1
- package/dist/esm/table-column/anchor/cell-view/index.js +2 -2
- package/dist/esm/table-column/anchor/cell-view/index.js.map +1 -1
- package/dist/esm/table-column/anchor/cell-view/styles.d.ts +1 -1
- package/dist/esm/table-column/anchor/cell-view/styles.js +1 -1
- package/dist/esm/table-column/anchor/cell-view/styles.js.map +1 -1
- package/dist/esm/table-column/anchor/cell-view/template.d.ts +1 -1
- package/dist/esm/table-column/anchor/cell-view/template.js +1 -1
- package/dist/esm/table-column/anchor/cell-view/template.js.map +1 -1
- package/dist/esm/table-column/anchor/index.d.ts +4 -4
- package/dist/esm/table-column/anchor/index.js +2 -2
- package/dist/esm/table-column/anchor/index.js.map +1 -1
- package/dist/esm/table-column/base/cell-view/index.d.ts +1 -1
- package/dist/esm/table-column/base/cell-view/index.js +2 -2
- package/dist/esm/table-column/base/cell-view/index.js.map +1 -1
- package/dist/esm/table-column/base/cell-view/template.d.ts +1 -1
- package/dist/esm/table-column/base/cell-view/template.js +1 -1
- package/dist/esm/table-column/base/cell-view/template.js.map +1 -1
- package/dist/esm/table-column/base/group-header-view/index.d.ts +1 -1
- package/dist/esm/table-column/base/group-header-view/index.js +2 -2
- package/dist/esm/table-column/base/group-header-view/index.js.map +1 -1
- package/dist/esm/table-column/base/group-header-view/template.d.ts +1 -1
- package/dist/esm/table-column/base/group-header-view/template.js +1 -1
- package/dist/esm/table-column/base/group-header-view/template.js.map +1 -1
- package/dist/esm/table-column/base/index.d.ts +1 -1
- package/dist/esm/table-column/base/index.js +2 -2
- package/dist/esm/table-column/base/index.js.map +1 -1
- package/dist/esm/table-column/base/models/column-internals.d.ts +1 -1
- package/dist/esm/table-column/base/models/column-internals.js +2 -2
- package/dist/esm/table-column/base/models/column-internals.js.map +1 -1
- package/dist/esm/table-column/base/models/column-validator.js +1 -1
- package/dist/esm/table-column/base/models/column-validator.js.map +1 -1
- package/dist/esm/table-column/base/styles.d.ts +1 -1
- package/dist/esm/table-column/base/styles.js +1 -1
- package/dist/esm/table-column/base/styles.js.map +1 -1
- package/dist/esm/table-column/base/template.d.ts +1 -1
- package/dist/esm/table-column/base/template.js +1 -1
- package/dist/esm/table-column/base/template.js.map +1 -1
- package/dist/esm/table-column/date-text/cell-view/index.js +1 -1
- package/dist/esm/table-column/date-text/cell-view/index.js.map +1 -1
- package/dist/esm/table-column/date-text/group-header-view/index.js +1 -1
- package/dist/esm/table-column/date-text/group-header-view/index.js.map +1 -1
- package/dist/esm/table-column/date-text/index.d.ts +3 -3
- package/dist/esm/table-column/date-text/index.js +2 -2
- package/dist/esm/table-column/date-text/index.js.map +1 -1
- package/dist/esm/table-column/duration-text/cell-view/index.js +1 -1
- package/dist/esm/table-column/duration-text/cell-view/index.js.map +1 -1
- package/dist/esm/table-column/duration-text/group-header-view/index.js +1 -1
- package/dist/esm/table-column/duration-text/group-header-view/index.js.map +1 -1
- package/dist/esm/table-column/duration-text/index.d.ts +3 -3
- package/dist/esm/table-column/duration-text/index.js +1 -1
- package/dist/esm/table-column/duration-text/index.js.map +1 -1
- package/dist/esm/table-column/enum-base/index.d.ts +1 -1
- package/dist/esm/table-column/enum-base/index.js +1 -1
- package/dist/esm/table-column/enum-base/index.js.map +1 -1
- package/dist/esm/table-column/enum-base/models/mapping-icon-config.d.ts +1 -1
- package/dist/esm/table-column/enum-base/models/mapping-icon-config.js +1 -1
- package/dist/esm/table-column/enum-base/models/mapping-icon-config.js.map +1 -1
- package/dist/esm/table-column/enum-base/models/mapping-key-resolver.js +1 -1
- package/dist/esm/table-column/enum-base/models/mapping-key-resolver.js.map +1 -1
- package/dist/esm/table-column/enum-base/models/mapping-spinner-config.d.ts +1 -1
- package/dist/esm/table-column/enum-base/models/mapping-spinner-config.js +1 -1
- package/dist/esm/table-column/enum-base/models/mapping-spinner-config.js.map +1 -1
- package/dist/esm/table-column/enum-base/styles.d.ts +1 -1
- package/dist/esm/table-column/enum-base/styles.js +1 -1
- package/dist/esm/table-column/enum-base/styles.js.map +1 -1
- package/dist/esm/table-column/enum-base/template.d.ts +1 -1
- package/dist/esm/table-column/enum-base/template.js +1 -1
- package/dist/esm/table-column/enum-base/template.js.map +1 -1
- package/dist/esm/table-column/mapping/cell-view/index.d.ts +1 -1
- package/dist/esm/table-column/mapping/cell-view/index.js +2 -2
- package/dist/esm/table-column/mapping/cell-view/index.js.map +1 -1
- package/dist/esm/table-column/mapping/cell-view/styles.d.ts +1 -1
- package/dist/esm/table-column/mapping/cell-view/styles.js +1 -1
- package/dist/esm/table-column/mapping/cell-view/styles.js.map +1 -1
- package/dist/esm/table-column/mapping/cell-view/template.d.ts +1 -1
- package/dist/esm/table-column/mapping/cell-view/template.js +1 -1
- package/dist/esm/table-column/mapping/cell-view/template.js.map +1 -1
- package/dist/esm/table-column/mapping/group-header-view/index.d.ts +1 -1
- package/dist/esm/table-column/mapping/group-header-view/index.js +2 -2
- package/dist/esm/table-column/mapping/group-header-view/index.js.map +1 -1
- package/dist/esm/table-column/mapping/group-header-view/styles.d.ts +1 -1
- package/dist/esm/table-column/mapping/group-header-view/styles.js +1 -1
- package/dist/esm/table-column/mapping/group-header-view/styles.js.map +1 -1
- package/dist/esm/table-column/mapping/group-header-view/template.d.ts +1 -1
- package/dist/esm/table-column/mapping/group-header-view/template.js +1 -1
- package/dist/esm/table-column/mapping/group-header-view/template.js.map +1 -1
- package/dist/esm/table-column/mapping/index.d.ts +3 -3
- package/dist/esm/table-column/mapping/index.js +2 -2
- package/dist/esm/table-column/mapping/index.js.map +1 -1
- package/dist/esm/table-column/menu-button/cell-view/index.js +2 -2
- package/dist/esm/table-column/menu-button/cell-view/index.js.map +1 -1
- package/dist/esm/table-column/menu-button/cell-view/styles.d.ts +1 -1
- package/dist/esm/table-column/menu-button/cell-view/styles.js +1 -1
- package/dist/esm/table-column/menu-button/cell-view/styles.js.map +1 -1
- package/dist/esm/table-column/menu-button/cell-view/templates.d.ts +1 -1
- package/dist/esm/table-column/menu-button/cell-view/templates.js +1 -1
- package/dist/esm/table-column/menu-button/cell-view/templates.js.map +1 -1
- package/dist/esm/table-column/menu-button/index.d.ts +3 -3
- package/dist/esm/table-column/menu-button/index.js +2 -2
- package/dist/esm/table-column/menu-button/index.js.map +1 -1
- package/dist/esm/table-column/menu-button/template.d.ts +1 -1
- package/dist/esm/table-column/menu-button/template.js +1 -1
- package/dist/esm/table-column/menu-button/template.js.map +1 -1
- package/dist/esm/table-column/mixins/custom-sort-order.d.ts +1 -1
- package/dist/esm/table-column/mixins/custom-sort-order.js +1 -1
- package/dist/esm/table-column/mixins/custom-sort-order.js.map +1 -1
- package/dist/esm/table-column/mixins/fractional-width-column.js +1 -1
- package/dist/esm/table-column/mixins/fractional-width-column.js.map +1 -1
- package/dist/esm/table-column/mixins/groupable-column.js +1 -1
- package/dist/esm/table-column/mixins/groupable-column.js.map +1 -1
- package/dist/esm/table-column/mixins/placeholder.js +1 -1
- package/dist/esm/table-column/mixins/placeholder.js.map +1 -1
- package/dist/esm/table-column/mixins/sortable-column.js +1 -1
- package/dist/esm/table-column/mixins/sortable-column.js.map +1 -1
- package/dist/esm/table-column/number-text/cell-view/index.js +1 -1
- package/dist/esm/table-column/number-text/cell-view/index.js.map +1 -1
- package/dist/esm/table-column/number-text/group-header-view/index.js +1 -1
- package/dist/esm/table-column/number-text/group-header-view/index.js.map +1 -1
- package/dist/esm/table-column/number-text/index.d.ts +3 -3
- package/dist/esm/table-column/number-text/index.js +2 -2
- package/dist/esm/table-column/number-text/index.js.map +1 -1
- package/dist/esm/table-column/number-text/template.d.ts +1 -1
- package/dist/esm/table-column/number-text/template.js +1 -1
- package/dist/esm/table-column/number-text/template.js.map +1 -1
- package/dist/esm/table-column/text/cell-view/index.js +1 -1
- package/dist/esm/table-column/text/cell-view/index.js.map +1 -1
- package/dist/esm/table-column/text/group-header-view/index.js +1 -1
- package/dist/esm/table-column/text/group-header-view/index.js.map +1 -1
- package/dist/esm/table-column/text/index.d.ts +4 -4
- package/dist/esm/table-column/text/index.js +1 -1
- package/dist/esm/table-column/text/index.js.map +1 -1
- package/dist/esm/table-column/text-base/cell-view/index.js +1 -1
- package/dist/esm/table-column/text-base/cell-view/index.js.map +1 -1
- package/dist/esm/table-column/text-base/cell-view/styles.d.ts +1 -1
- package/dist/esm/table-column/text-base/cell-view/styles.js +1 -1
- package/dist/esm/table-column/text-base/cell-view/styles.js.map +1 -1
- package/dist/esm/table-column/text-base/cell-view/template.d.ts +1 -1
- package/dist/esm/table-column/text-base/cell-view/template.js +1 -1
- package/dist/esm/table-column/text-base/cell-view/template.js.map +1 -1
- package/dist/esm/table-column/text-base/group-header-view/index.js +1 -1
- package/dist/esm/table-column/text-base/group-header-view/index.js.map +1 -1
- package/dist/esm/table-column/text-base/group-header-view/styles.d.ts +1 -1
- package/dist/esm/table-column/text-base/group-header-view/styles.js +1 -1
- package/dist/esm/table-column/text-base/group-header-view/styles.js.map +1 -1
- package/dist/esm/table-column/text-base/group-header-view/template.d.ts +1 -1
- package/dist/esm/table-column/text-base/group-header-view/template.js +1 -1
- package/dist/esm/table-column/text-base/group-header-view/template.js.map +1 -1
- package/dist/esm/table-column/text-base/index.js +1 -1
- package/dist/esm/table-column/text-base/index.js.map +1 -1
- package/dist/esm/tabs/index.d.ts +1 -1
- package/dist/esm/tabs/index.js +2 -2
- package/dist/esm/tabs/index.js.map +1 -1
- package/dist/esm/tabs/styles.d.ts +1 -1
- package/dist/esm/tabs/styles.js +1 -1
- package/dist/esm/tabs/styles.js.map +1 -1
- package/dist/esm/tabs-toolbar/index.d.ts +1 -1
- package/dist/esm/tabs-toolbar/index.js +1 -1
- package/dist/esm/tabs-toolbar/index.js.map +1 -1
- package/dist/esm/tabs-toolbar/styles.d.ts +1 -1
- package/dist/esm/tabs-toolbar/styles.js +1 -1
- package/dist/esm/tabs-toolbar/styles.js.map +1 -1
- package/dist/esm/tabs-toolbar/template.d.ts +1 -1
- package/dist/esm/tabs-toolbar/template.js +1 -1
- package/dist/esm/tabs-toolbar/template.js.map +1 -1
- package/dist/esm/testing/async-helpers.js +1 -1
- package/dist/esm/testing/async-helpers.js.map +1 -1
- package/dist/esm/text-area/index.d.ts +3 -7
- package/dist/esm/text-area/index.js +2 -2
- package/dist/esm/text-area/index.js.map +1 -1
- package/dist/esm/text-area/styles.d.ts +1 -1
- package/dist/esm/text-area/styles.js +1 -1
- package/dist/esm/text-area/styles.js.map +1 -1
- package/dist/esm/text-area/template.d.ts +2 -2
- package/dist/esm/text-area/template.js +1 -1
- package/dist/esm/text-area/template.js.map +1 -1
- package/dist/esm/text-area/types.d.ts +1 -1
- package/dist/esm/text-area/types.js +1 -1
- package/dist/esm/text-area/types.js.map +1 -1
- package/dist/esm/text-field/index.d.ts +3 -3
- package/dist/esm/text-field/index.js +2 -2
- package/dist/esm/text-field/index.js.map +1 -1
- package/dist/esm/text-field/styles.d.ts +1 -1
- package/dist/esm/text-field/styles.js +1 -1
- package/dist/esm/text-field/styles.js.map +1 -1
- package/dist/esm/text-field/template.d.ts +3 -3
- package/dist/esm/text-field/template.js +3 -3
- package/dist/esm/text-field/template.js.map +1 -1
- package/dist/esm/text-field/types.d.ts +1 -1
- package/dist/esm/text-field/types.js +1 -1
- package/dist/esm/text-field/types.js.map +1 -1
- package/dist/esm/theme-provider/design-tokens.d.ts +1 -1
- package/dist/esm/theme-provider/design-tokens.js +2 -2
- package/dist/esm/theme-provider/design-tokens.js.map +1 -1
- package/dist/esm/theme-provider/index.d.ts +2 -2
- package/dist/esm/theme-provider/index.js +3 -3
- package/dist/esm/theme-provider/index.js.map +1 -1
- package/dist/esm/theme-provider/styles.d.ts +1 -1
- package/dist/esm/theme-provider/styles.js +1 -1
- package/dist/esm/theme-provider/styles.js.map +1 -1
- package/dist/esm/theme-provider/template.d.ts +1 -1
- package/dist/esm/theme-provider/template.js +1 -1
- package/dist/esm/theme-provider/template.js.map +1 -1
- package/dist/esm/toggle-button/index.d.ts +1 -1
- package/dist/esm/toggle-button/index.js +2 -2
- package/dist/esm/toggle-button/index.js.map +1 -1
- package/dist/esm/toggle-button/styles.d.ts +1 -1
- package/dist/esm/toggle-button/styles.js +1 -1
- package/dist/esm/toggle-button/styles.js.map +1 -1
- package/dist/esm/toggle-button/template.d.ts +2 -2
- package/dist/esm/toggle-button/template.js +2 -2
- package/dist/esm/toggle-button/template.js.map +1 -1
- package/dist/esm/toolbar/index.d.ts +1 -1
- package/dist/esm/toolbar/index.js +1 -1
- package/dist/esm/toolbar/index.js.map +1 -1
- package/dist/esm/toolbar/styles.d.ts +1 -1
- package/dist/esm/toolbar/styles.js +1 -1
- package/dist/esm/toolbar/styles.js.map +1 -1
- package/dist/esm/tooltip/index.d.ts +1 -1
- package/dist/esm/tooltip/index.js +2 -2
- package/dist/esm/tooltip/index.js.map +1 -1
- package/dist/esm/tooltip/styles.d.ts +1 -1
- package/dist/esm/tooltip/styles.js +1 -1
- package/dist/esm/tooltip/styles.js.map +1 -1
- package/dist/esm/tooltip/template.d.ts +1 -1
- package/dist/esm/tooltip/template.js +1 -1
- package/dist/esm/tooltip/template.js.map +1 -1
- package/dist/esm/tree-item/index.d.ts +2 -2
- package/dist/esm/tree-item/index.js +3 -3
- package/dist/esm/tree-item/index.js.map +1 -1
- package/dist/esm/tree-item/styles.d.ts +1 -1
- package/dist/esm/tree-item/styles.js +1 -1
- package/dist/esm/tree-item/styles.js.map +1 -1
- package/dist/esm/tree-view/index.d.ts +2 -2
- package/dist/esm/tree-view/index.js +3 -3
- package/dist/esm/tree-view/index.js.map +1 -1
- package/dist/esm/tree-view/styles.d.ts +1 -1
- package/dist/esm/tree-view/styles.js +1 -1
- package/dist/esm/tree-view/styles.js.map +1 -1
- package/dist/esm/tree-view/template.d.ts +1 -1
- package/dist/esm/tree-view/template.js +1 -1
- package/dist/esm/tree-view/template.js.map +1 -1
- package/dist/esm/unit/base/styles.d.ts +1 -1
- package/dist/esm/unit/base/styles.js +1 -1
- package/dist/esm/unit/base/styles.js.map +1 -1
- package/dist/esm/unit/base/template.d.ts +1 -1
- package/dist/esm/unit/base/template.js +1 -1
- package/dist/esm/unit/base/template.js.map +1 -1
- package/dist/esm/unit/base/unit.d.ts +1 -1
- package/dist/esm/unit/base/unit.js +2 -2
- package/dist/esm/unit/base/unit.js.map +1 -1
- package/dist/esm/unit/byte/index.js +2 -2
- package/dist/esm/unit/byte/index.js.map +1 -1
- package/dist/esm/unit/celsius/index.js +1 -1
- package/dist/esm/unit/celsius/index.js.map +1 -1
- package/dist/esm/unit/fahrenheit/index.js +1 -1
- package/dist/esm/unit/fahrenheit/index.js.map +1 -1
- package/dist/esm/unit/volt/index.js +1 -1
- package/dist/esm/unit/volt/index.js.map +1 -1
- package/dist/esm/utilities/directive/overflow.d.ts +1 -1
- package/dist/esm/utilities/directive/overflow.js +1 -1
- package/dist/esm/utilities/directive/overflow.js.map +1 -1
- package/dist/esm/utilities/models/converter.d.ts +1 -1
- package/dist/esm/utilities/models/converter.js.map +1 -1
- package/dist/esm/utilities/models/document-element-lang.js +1 -1
- package/dist/esm/utilities/models/document-element-lang.js.map +1 -1
- package/dist/esm/utilities/style/accessibly-hidden.d.ts +1 -1
- package/dist/esm/utilities/style/accessibly-hidden.js +1 -1
- package/dist/esm/utilities/style/accessibly-hidden.js.map +1 -1
- package/dist/esm/utilities/style/appearance.d.ts +1 -1
- package/dist/esm/utilities/style/appearance.js.map +1 -1
- package/dist/esm/utilities/style/colors.js +1 -1
- package/dist/esm/utilities/style/colors.js.map +1 -1
- package/dist/esm/utilities/style/direction.d.ts +3 -3
- package/dist/esm/utilities/style/direction.js +2 -2
- package/dist/esm/utilities/style/direction.js.map +1 -1
- package/dist/esm/utilities/style/display.d.ts +1 -1
- package/dist/esm/utilities/style/display.js +1 -1
- package/dist/esm/utilities/style/display.js.map +1 -1
- package/dist/esm/utilities/style/focus.js +1 -1
- package/dist/esm/utilities/style/focus.js.map +1 -1
- package/dist/esm/utilities/style/multivalue-property-stylesheet-behavior.d.ts +1 -1
- package/dist/esm/utilities/style/multivalue-property-stylesheet-behavior.js +1 -1
- package/dist/esm/utilities/style/multivalue-property-stylesheet-behavior.js.map +1 -1
- package/dist/esm/utilities/style/theme.d.ts +1 -1
- package/dist/esm/utilities/style/theme.js.map +1 -1
- package/dist/esm/utilities/style/user-select.d.ts +1 -1
- package/dist/esm/utilities/style/user-select.js +1 -1
- package/dist/esm/utilities/style/user-select.js.map +1 -1
- package/dist/esm/wafer-map/index.d.ts +1 -1
- package/dist/esm/wafer-map/index.js +2 -2
- package/dist/esm/wafer-map/index.js.map +1 -1
- package/dist/esm/wafer-map/modules/prerendering.js +1 -1
- package/dist/esm/wafer-map/modules/prerendering.js.map +1 -1
- package/dist/esm/wafer-map/modules/wafer-map-update-tracker.js +1 -1
- package/dist/esm/wafer-map/modules/wafer-map-update-tracker.js.map +1 -1
- package/dist/esm/wafer-map/modules/zoom-handler.js +1 -1
- package/dist/esm/wafer-map/modules/zoom-handler.js.map +1 -1
- package/dist/esm/wafer-map/styles.d.ts +1 -1
- package/dist/esm/wafer-map/styles.js +1 -1
- package/dist/esm/wafer-map/styles.js.map +1 -1
- package/dist/esm/wafer-map/template.d.ts +1 -1
- package/dist/esm/wafer-map/template.js +1 -1
- package/dist/esm/wafer-map/template.js.map +1 -1
- package/package.json +6 -6
package/dist/esm/patterns/required-visible/testing/required-visible-pattern.pageobject.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"required-visible-pattern.pageobject.js","sourceRoot":"","sources":["../../../../../src/patterns/required-visible/testing/required-visible-pattern.pageobject.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,OAAO,gCAAgC;IACzC,YAAoC,OAA0B;QAA1B,YAAO,GAAP,OAAO,CAAmB;IAAG,CAAC;IAE3D,4BAA4B;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC3C,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC;IACrD,CAAC;IAEO,sBAAsB;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,UAAW,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACpE,CAAC;CACJ","sourcesContent":["import type { FoundationElement } from '@
|
|
1
|
+
{"version":3,"file":"required-visible-pattern.pageobject.js","sourceRoot":"","sources":["../../../../../src/patterns/required-visible/testing/required-visible-pattern.pageobject.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,OAAO,gCAAgC;IACzC,YAAoC,OAA0B;QAA1B,YAAO,GAAP,OAAO,CAAmB;IAAG,CAAC;IAE3D,4BAA4B;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC3C,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC;IACrD,CAAC;IAEO,sBAAsB;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,UAAW,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACpE,CAAC;CACJ","sourcesContent":["import type { FoundationElement } from '@ni/fast-foundation';\n\n/**\n * A page object for the elements that use the required-visible mixin.\n */\nexport class RequiredVisiblePatternPageObject {\n public constructor(private readonly element: FoundationElement) {}\n\n public isRequiredVisibleIconVisible(): boolean {\n const icon = this.getRequiredVisibleIcon();\n if (!icon) {\n return false;\n }\n return getComputedStyle(icon).display !== 'none';\n }\n\n private getRequiredVisibleIcon(): HTMLElement | null {\n return this.element.shadowRoot!.querySelector('.required-icon');\n }\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FASTElement } from '@
|
|
1
|
+
import { FASTElement } from '@ni/fast-element';
|
|
2
2
|
export interface RequiredVisiblePattern {
|
|
3
3
|
/**
|
|
4
4
|
* Whether or not to show the required appearance of the control
|
|
@@ -8,7 +8,7 @@ export interface RequiredVisiblePattern {
|
|
|
8
8
|
type FASTElementConstructor = abstract new (...args: any[]) => FASTElement;
|
|
9
9
|
export declare function mixinRequiredVisiblePattern<TBase extends FASTElementConstructor>(base: TBase): (abstract new (...args: any[]) => {
|
|
10
10
|
requiredVisible: boolean;
|
|
11
|
-
readonly $fastController: import("@
|
|
11
|
+
readonly $fastController: import("@ni/fast-element").Controller;
|
|
12
12
|
$emit(type: string, detail?: any, options?: Omit<CustomEventInit<any>, "detail"> | undefined): boolean | void;
|
|
13
13
|
connectedCallback(): void;
|
|
14
14
|
disconnectedCallback(): void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { attr, FASTElement } from '@
|
|
1
|
+
import { attr, FASTElement } from '@ni/fast-element';
|
|
2
2
|
// As the returned class is internal to the function, we can't write a signature that uses is directly, so rely on inference
|
|
3
3
|
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type
|
|
4
4
|
export function mixinRequiredVisiblePattern(base) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/patterns/required-visible/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/patterns/required-visible/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAYrD,4HAA4H;AAC5H,+HAA+H;AAC/H,MAAM,UAAU,2BAA2B,CAEzC,IAAW;IACT;;;OAGG;IACH,MAAe,sBACX,SAAQ,IAAI;QADhB;;YAGI;;eAEG;YACI,oBAAe,GAAG,KAAK,CAAC;QACnC,CAAC;KAAA;IAED,IAAI,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CACpD,sBAAsB,CAAC,SAAS,EAChC,iBAAiB,CACpB,CAAC;IACF,OAAO,sBAAsB,CAAC;AAClC,CAAC","sourcesContent":["import { attr, FASTElement } from '@ni/fast-element';\n\nexport interface RequiredVisiblePattern {\n /**\n * Whether or not to show the required appearance of the control\n */\n requiredVisible: boolean;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype FASTElementConstructor = abstract new (...args: any[]) => FASTElement;\n\n// As the returned class is internal to the function, we can't write a signature that uses is directly, so rely on inference\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type\nexport function mixinRequiredVisiblePattern<\n TBase extends FASTElementConstructor\n>(base: TBase) {\n /**\n * The Mixin that provides the requiredVisible property and required-visible attribute\n * to a component.\n */\n abstract class RequiredVisibleElement\n extends base\n implements RequiredVisiblePattern {\n /*\n * Show the required appearance of the control\n */\n public requiredVisible = false;\n }\n\n attr({ attribute: 'required-visible', mode: 'boolean' })(\n RequiredVisibleElement.prototype,\n 'requiredVisible'\n );\n return RequiredVisibleElement;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const styles: import("@
|
|
1
|
+
export declare const styles: import("@ni/fast-element").ElementStyles;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../src/patterns/tabs/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../src/patterns/tabs/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;wBAeG,YAAY;;;;;;;;;;;;uBAYb,YAAY;;;;;;;;;;CAUlC,CAAC","sourcesContent":["import { css } from '@ni/fast-element';\nimport { display } from '../../utilities/style/display';\nimport { smallPadding } from '../../theme-provider/design-tokens';\n\nexport const styles = css`\n ${display('flex')}\n\n :host {\n flex-direction: column;\n }\n\n .tab-bar {\n display: flex;\n }\n\n [part='start'] {\n display: none;\n }\n\n .scroll-button.left {\n margin-right: ${smallPadding};\n }\n\n .tablist {\n display: flex;\n width: max-content;\n align-self: end;\n overflow-x: scroll;\n scrollbar-width: none;\n }\n\n .scroll-button.right {\n margin-left: ${smallPadding};\n }\n\n [part='end'] {\n flex: 1;\n }\n\n [part='tabpanel'] {\n flex: 1;\n }\n`;\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ViewTemplate } from '@
|
|
2
|
-
import { type FoundationElementTemplate, type TabsOptions } from '@
|
|
1
|
+
import type { ViewTemplate } from '@ni/fast-element';
|
|
2
|
+
import { type FoundationElementTemplate, type TabsOptions } from '@ni/fast-foundation';
|
|
3
3
|
import type { TabsOwner } from './types';
|
|
4
4
|
export declare const template: FoundationElementTemplate<ViewTemplate<TabsOwner>, TabsOptions>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { html, ref, slotted, when } from '@
|
|
2
|
-
import { endSlotTemplate, startSlotTemplate } from '@
|
|
1
|
+
import { html, ref, slotted, when } from '@ni/fast-element';
|
|
2
|
+
import { endSlotTemplate, startSlotTemplate } from '@ni/fast-foundation';
|
|
3
3
|
import { buttonTag } from '../../button';
|
|
4
4
|
import { iconArrowExpanderLeftTag } from '../../icons/arrow-expander-left';
|
|
5
5
|
import { iconArrowExpanderRightTag } from '../../icons/arrow-expander-right';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../src/patterns/tabs/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../src/patterns/tabs/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EACH,eAAe,EACf,iBAAiB,EAGpB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACH,kBAAkB,EAClB,mBAAmB,EACtB,MAAM,wCAAwC,CAAC;AAEhD,kBAAkB;AAClB,MAAM,CAAC,MAAM,QAAQ,GAGjB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,IAAI,CAAA;;;;UAIvB,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC;UACtC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE,IAAI,CAAW;eACzC,SAAS;;;8BAGM,gBAAgB,CAAC,KAAK;;0BAE1B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE;kBAClC,GAAG,CAAC,kBAAkB,CAAC;;kBAEvB,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;mBACrC,wBAAwB,mBAAmB,wBAAwB;gBACtE,SAAS;SAChB,CAAC;;;;;cAKI,GAAG,CAAC,SAAS,CAAC;;sCAEU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,gBAAgB,OAAO,CAAC,MAAM,CAAC;;;UAG7E,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE,IAAI,CAAW;eACzC,SAAS;;;8BAGM,gBAAgB,CAAC,KAAK;;0BAE1B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAAE;;kBAEnC,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC;mBACtC,yBAAyB,mBAAmB,yBAAyB;gBACxE,SAAS;SAChB,CAAC;UACA,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC;;MAExC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,IAAI,CAAC,EAAE,IAAI,CAAM;;oCAER,OAAO,CAAC,WAAW,CAAC;;KAEnD,CAAC;CACL,CAAC","sourcesContent":["import { html, ref, slotted, when } from '@ni/fast-element';\nimport type { ViewTemplate } from '@ni/fast-element';\nimport {\n endSlotTemplate,\n startSlotTemplate,\n type FoundationElementTemplate,\n type TabsOptions\n} from '@ni/fast-foundation';\nimport type { Tabs } from '../../tabs';\nimport { buttonTag } from '../../button';\nimport { iconArrowExpanderLeftTag } from '../../icons/arrow-expander-left';\nimport { iconArrowExpanderRightTag } from '../../icons/arrow-expander-right';\nimport type { TabsOwner } from './types';\nimport { ButtonAppearance } from '../button/types';\nimport {\n scrollForwardLabel,\n scrollBackwardLabel\n} from '../../label-provider/core/label-tokens';\n\n// prettier-ignore\nexport const template: FoundationElementTemplate<\nViewTemplate<TabsOwner>,\nTabsOptions\n> = (context, definition) => html`\n <div\n class=\"tab-bar\"\n >\n ${startSlotTemplate(context, definition)}\n ${when(x => x.showScrollButtons, html<TabsOwner>`\n <${buttonTag} \n content-hidden\n class=\"scroll-button left\"\n appearance=\"${ButtonAppearance.ghost}\"\n tabindex=\"-1\"\n @click=\"${x => x.onScrollLeftClick()}\"\n ${ref('leftScrollButton')}\n >\n ${x => scrollForwardLabel.getValueFor(x)}\n <${iconArrowExpanderLeftTag} slot=\"start\"></${iconArrowExpanderLeftTag}>\n </${buttonTag}>\n `)}\n <div\n class=\"tablist\"\n part=\"tablist\"\n role=\"tablist\"\n ${ref('tablist')}\n >\n <slot class=\"tab\" name=\"${x => x.tabSlotName}\" part=\"tab\" ${slotted('tabs')}>\n </slot>\n </div>\n ${when(x => x.showScrollButtons, html<TabsOwner>`\n <${buttonTag}\n content-hidden\n class=\"scroll-button right\"\n appearance=\"${ButtonAppearance.ghost}\"\n tabindex=\"-1\"\n @click=\"${x => x.onScrollRightClick()}\"\n >\n ${x => scrollBackwardLabel.getValueFor(x)}\n <${iconArrowExpanderRightTag} slot=\"start\"></${iconArrowExpanderRightTag}>\n </${buttonTag}>\n `)}\n ${endSlotTemplate(context, definition)}\n </div>\n ${when(x => 'tabpanels' in x, html<Tabs>`\n <div class=\"tabpanel\" part=\"tabpanel\">\n <slot name=\"tabpanel\" ${slotted('tabpanels')}></slot>\n </div>\n `)}\n`;\n"]}
|
package/dist/esm/radio/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Radio as FoundationRadio, radioTemplate as template, DesignSystem } from '@
|
|
1
|
+
import { Radio as FoundationRadio, radioTemplate as template, DesignSystem } from '@ni/fast-foundation';
|
|
2
2
|
import { circleFilled16X16 } from '@ni/nimble-tokens/dist/icons/js';
|
|
3
3
|
import { styles } from './styles';
|
|
4
4
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/radio/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,IAAI,eAAe,EACxB,aAAa,IAAI,QAAQ,EACzB,YAAY,EAEf,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/radio/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,IAAI,eAAe,EACxB,aAAa,IAAI,QAAQ,EACzB,YAAY,EAEf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAQlC;;GAEG;AACH,MAAM,OAAO,KAAM,SAAQ,eAAe;CAAG;AAE7C,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAe;IAC5C,QAAQ,EAAE,OAAO;IACjB,SAAS,EAAE,eAAe;IAC1B,QAAQ;IACR,MAAM;IACN,gBAAgB,EAAE,iBAAiB,CAAC,IAAI;CAC3C,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,QAAQ,GAAG,cAAc,CAAC","sourcesContent":["import {\n Radio as FoundationRadio,\n radioTemplate as template,\n DesignSystem,\n type RadioOptions\n} from '@ni/fast-foundation';\nimport { circleFilled16X16 } from '@ni/nimble-tokens/dist/icons/js';\nimport { styles } from './styles';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-radio': Radio;\n }\n}\n\n/**\n * A nimble-styled radio button\n */\nexport class Radio extends FoundationRadio {}\n\nconst nimbleRadio = Radio.compose<RadioOptions>({\n baseName: 'radio',\n baseClass: FoundationRadio,\n template,\n styles,\n checkedIndicator: circleFilled16X16.data\n});\n\nDesignSystem.getOrCreate().withPrefix('nimble').register(nimbleRadio());\nexport const radioTag = 'nimble-radio';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const styles: import("@
|
|
1
|
+
export declare const styles: import("@ni/fast-element").ElementStyles;
|
package/dist/esm/radio/styles.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { css } from '@
|
|
1
|
+
import { css } from '@ni/fast-element';
|
|
2
2
|
import { display } from '../utilities/style/display';
|
|
3
3
|
import { bodyDisabledFontColor, bodyFont, bodyFontColor, borderColor, borderHoverColor, borderRgbPartialColor, borderWidth, controlHeight, iconSize, smallDelay } from '../theme-provider/design-tokens';
|
|
4
4
|
import { focusVisible } from '../utilities/style/focus';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/radio/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/radio/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EACH,qBAAqB,EACrB,QAAQ,EACR,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,qBAAqB,EACrB,WAAW,EACX,aAAa,EACb,QAAQ,EACR,UAAU,EACb,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,aAAa,CAAC;;;gBAGZ,QAAQ;;;;;;;;;;;;;sBAaF,aAAa;uBACZ,aAAa;;kBAElB,WAAW,UAAU,WAAW;;;;;iCAKjB,UAAU;UACjC;AACE;;;GAGG,CAAC,EACR;;;;;iCAKyB,qBAAqB;6BACzB,qBAAqB;;;;wBAI1B,gBAAgB;kCACN,WAAW,IAAI,gBAAgB;;;YAGrD,YAAY;wBACA,gBAAgB;;;YAG5B,YAAY;;;4BAGI,aAAa;6BACZ,aAAa;4BACd,gBAAgB;;;;;;iBAM3B,aAAa;;;;;;iBAMb,qBAAqB;;;;;;;;kBAQpB,QAAQ;iBACT,QAAQ;;;;;;;;;gBAST,WAAW;;;;qBAIN,qBAAqB;;CAEzC,CAAC","sourcesContent":["import { css } from '@ni/fast-element';\nimport { display } from '../utilities/style/display';\nimport {\n bodyDisabledFontColor,\n bodyFont,\n bodyFontColor,\n borderColor,\n borderHoverColor,\n borderRgbPartialColor,\n borderWidth,\n controlHeight,\n iconSize,\n smallDelay\n} from '../theme-provider/design-tokens';\nimport { focusVisible } from '../utilities/style/focus';\n\nexport const styles = css`\n ${display('inline-flex')}\n\n :host {\n font: ${bodyFont};\n align-items: center;\n outline: none;\n width: fit-content;\n cursor: pointer;\n }\n\n :host([disabled]) {\n cursor: default;\n }\n\n .control {\n position: relative;\n width: calc(${controlHeight} / 2);\n height: calc(${controlHeight} / 2);\n flex-shrink: 0;\n border: ${borderWidth} solid ${borderColor};\n border-radius: 100%;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n transition: box-shadow ${smallDelay};\n ${\n /*\n * Firefox includes the line height in the outline height calculation (not sure if intended or accidental).\n * Set it to 0 to ensure the outline is just as high as the control.\n */ ''\n }\n line-height: 0;\n }\n\n :host([disabled]) .control {\n background-color: rgba(${borderRgbPartialColor}, 0.1);\n border-color: rgba(${borderRgbPartialColor}, 0.2);\n }\n\n :host(:not([disabled]):not(:active):hover) .control {\n border-color: ${borderHoverColor};\n box-shadow: 0px 0px 0px ${borderWidth} ${borderHoverColor} inset;\n }\n\n :host(${focusVisible}) .control {\n border-color: ${borderHoverColor};\n }\n\n :host(${focusVisible}) .control::after {\n content: '';\n position: absolute;\n width: calc(2px + ${controlHeight} / 2);\n height: calc(2px + ${controlHeight} / 2);\n border: 2px solid ${borderHoverColor};\n border-radius: 100%;\n }\n\n .label {\n font: inherit;\n color: ${bodyFontColor};\n padding-left: 1ch;\n cursor: inherit;\n }\n\n :host([disabled]) .label {\n color: ${bodyDisabledFontColor};\n }\n\n slot[name='checked-indicator'] {\n display: none;\n }\n\n slot[name='checked-indicator'] svg {\n height: ${iconSize};\n width: ${iconSize};\n overflow: visible;\n }\n\n :host(.checked) slot[name='checked-indicator'] {\n display: contents;\n }\n\n slot[name='checked-indicator'] circle {\n fill: ${borderColor};\n }\n\n :host([disabled]) slot[name='checked-indicator'] circle {\n fill: rgba(${borderRgbPartialColor}, 0.3);\n }\n`;\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { RadioGroup as FoundationRadioGroup } from '@
|
|
2
|
-
import { Orientation } from '@
|
|
1
|
+
import { RadioGroup as FoundationRadioGroup } from '@ni/fast-foundation';
|
|
2
|
+
import { Orientation } from '@ni/fast-web-utilities';
|
|
3
3
|
declare global {
|
|
4
4
|
interface HTMLElementTagNameMap {
|
|
5
5
|
'nimble-radio-group': RadioGroup;
|
|
@@ -10,14 +10,14 @@ declare const RadioGroup_base: (abstract new (...args: any[]) => {
|
|
|
10
10
|
errorText?: string | undefined;
|
|
11
11
|
errorVisible: boolean;
|
|
12
12
|
errorHasOverflow: boolean;
|
|
13
|
-
readonly $fastController: import("@
|
|
13
|
+
readonly $fastController: import("@ni/fast-element").Controller;
|
|
14
14
|
$emit(type: string, detail?: any, options?: Omit<CustomEventInit<any>, "detail"> | undefined): boolean | void;
|
|
15
15
|
connectedCallback(): void;
|
|
16
16
|
disconnectedCallback(): void;
|
|
17
17
|
attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
|
|
18
18
|
}) & (abstract new (...args: any[]) => {
|
|
19
19
|
requiredVisible: boolean;
|
|
20
|
-
readonly $fastController: import("@
|
|
20
|
+
readonly $fastController: import("@ni/fast-element").Controller;
|
|
21
21
|
$emit(type: string, detail?: any, options?: Omit<CustomEventInit<any>, "detail"> | undefined): boolean | void;
|
|
22
22
|
connectedCallback(): void;
|
|
23
23
|
disconnectedCallback(): void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { RadioGroup as FoundationRadioGroup, DesignSystem } from '@
|
|
2
|
-
import { Orientation } from '@
|
|
1
|
+
import { RadioGroup as FoundationRadioGroup, DesignSystem } from '@ni/fast-foundation';
|
|
2
|
+
import { Orientation } from '@ni/fast-web-utilities';
|
|
3
3
|
import { styles } from './styles';
|
|
4
4
|
import { template } from './template';
|
|
5
5
|
import { mixinErrorPattern } from '../patterns/error/types';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/radio-group/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,UAAU,IAAI,oBAAoB,EAClC,YAAY,EACf,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/radio-group/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,UAAU,IAAI,oBAAoB,EAClC,YAAY,EACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAQjF,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB;;GAEG;AACH,MAAM,OAAO,UAAW,SAAQ,iBAAiB,CAC7C,2BAA2B,CAAC,oBAAoB,CAAC,CACpD;CAAG;AAEJ,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,CAAC;IACxC,QAAQ,EAAE,aAAa;IACvB,SAAS,EAAE,oBAAoB;IAC/B,QAAQ;IACR,MAAM;IACN,aAAa,EAAE;QACX,cAAc,EAAE,IAAI;KACvB;CACJ,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC;AAC7E,MAAM,CAAC,MAAM,aAAa,GAAG,oBAAoB,CAAC","sourcesContent":["import {\n RadioGroup as FoundationRadioGroup,\n DesignSystem\n} from '@ni/fast-foundation';\nimport { Orientation } from '@ni/fast-web-utilities';\nimport { styles } from './styles';\nimport { template } from './template';\nimport { mixinErrorPattern } from '../patterns/error/types';\nimport { mixinRequiredVisiblePattern } from '../patterns/required-visible/types';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-radio-group': RadioGroup;\n }\n}\n\nexport { Orientation };\n\n/**\n * A nimble-styled grouping element for radio buttons\n */\nexport class RadioGroup extends mixinErrorPattern(\n mixinRequiredVisiblePattern(FoundationRadioGroup)\n) {}\n\nconst nimbleRadioGroup = RadioGroup.compose({\n baseName: 'radio-group',\n baseClass: FoundationRadioGroup,\n template,\n styles,\n shadowOptions: {\n delegatesFocus: true\n }\n});\n\nDesignSystem.getOrCreate().withPrefix('nimble').register(nimbleRadioGroup());\nexport const radioGroupTag = 'nimble-radio-group';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const styles: import("@
|
|
1
|
+
export declare const styles: import("@ni/fast-element").ElementStyles;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { css } from '@
|
|
1
|
+
import { css } from '@ni/fast-element';
|
|
2
2
|
import { display } from '../utilities/style/display';
|
|
3
3
|
import { controlLabelDisabledFontColor, controlLabelFont, controlLabelFontColor, controlLabelFontLineHeight, smallPadding, standardPadding } from '../theme-provider/design-tokens';
|
|
4
4
|
import { styles as errorStyles } from '../patterns/error/styles';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/radio-group/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/radio-group/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EACH,6BAA6B,EAC7B,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC1B,YAAY,EACZ,eAAe,EAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAEtF,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,cAAc,CAAC;MACvB,WAAW;MACX,qBAAqB;;;;eAIZ,eAAe;;;;;;;;;;;;;;sBAcR,0BAA0B;eACjC,YAAY;yBACF,YAAY;;;;gBAIrB,gBAAgB;iBACf,qBAAqB;;;;iBAIrB,6BAA6B;;;;;wBAKtB,YAAY;;CAEnC,CAAC","sourcesContent":["import { css } from '@ni/fast-element';\nimport { display } from '../utilities/style/display';\nimport {\n controlLabelDisabledFontColor,\n controlLabelFont,\n controlLabelFontColor,\n controlLabelFontLineHeight,\n smallPadding,\n standardPadding\n} from '../theme-provider/design-tokens';\nimport { styles as errorStyles } from '../patterns/error/styles';\nimport { styles as requiredVisibleStyles } from '../patterns/required-visible/styles';\n\nexport const styles = css`\n ${display('inline-block')}\n ${errorStyles}\n ${requiredVisibleStyles}\n\n .positioning-region {\n display: flex;\n gap: ${standardPadding};\n position: relative;\n }\n\n :host([orientation='vertical']) .positioning-region {\n flex-direction: column;\n }\n\n :host([orientation='horizontal']) .positioning-region {\n flex-direction: row;\n }\n\n .label-container {\n display: flex;\n min-height: ${controlLabelFontLineHeight};\n gap: ${smallPadding};\n margin-bottom: ${smallPadding};\n }\n\n slot[name='label'] {\n font: ${controlLabelFont};\n color: ${controlLabelFontColor};\n }\n\n :host([disabled]) slot[name='label'] {\n color: ${controlLabelDisabledFontColor};\n }\n\n .error-icon {\n margin-left: auto;\n margin-right: ${smallPadding};\n }\n`;\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { RadioGroup } from '.';
|
|
2
|
-
export declare const template: import("@
|
|
2
|
+
export declare const template: import("@ni/fast-element").ViewTemplate<RadioGroup, any>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { elements, html, slotted } from '@
|
|
2
|
-
import { Orientation } from '@
|
|
1
|
+
import { elements, html, slotted } from '@ni/fast-element';
|
|
2
|
+
import { Orientation } from '@ni/fast-web-utilities';
|
|
3
3
|
import { errorTextTemplate } from '../patterns/error/template';
|
|
4
4
|
import { iconExclamationMarkTag } from '../icons/exclamation-mark';
|
|
5
5
|
import { createRequiredVisibleLabelTemplate } from '../patterns/required-visible/template';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/radio-group/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/radio-group/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,kCAAkC,EAAE,MAAM,uCAAuC,CAAC;AAE3F,MAAM,aAAa,GAAG,kCAAkC,CACpD,IAAI,CAAY,4BAA4B,CAC/C,CAAC;AAEF,8CAA8C;AAC9C,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAY;;;yBAGf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;yBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;yBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe;kBAC7B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAmB,CAAC;oBAC7C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAsB,CAAC;qBACnD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAmB,CAAC;;;cAGzD,aAAa;eACZ,sBAAsB;;;iBAGpB,sBAAsB;;;wCAGC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;;;;kBAIjG,OAAO,CAAC;IACN,QAAQ,EAAE,qBAAqB;IAC/B,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC;CACnC,CAAC;;cAEJ,iBAAiB;;;CAG9B,CAAC","sourcesContent":["import { elements, html, slotted } from '@ni/fast-element';\nimport { Orientation } from '@ni/fast-web-utilities';\nimport type { RadioGroup } from '.';\nimport { errorTextTemplate } from '../patterns/error/template';\nimport { iconExclamationMarkTag } from '../icons/exclamation-mark';\nimport { createRequiredVisibleLabelTemplate } from '../patterns/required-visible/template';\n\nconst labelTemplate = createRequiredVisibleLabelTemplate(\n html<RadioGroup>`<slot name=\"label\"></slot>`\n);\n\n/* eslint-disable @typescript-eslint/indent */\nexport const template = html<RadioGroup>`\n <template\n role=\"radiogroup\"\n aria-disabled=\"${x => x.disabled}\"\n aria-readonly=\"${x => x.readOnly}\"\n aria-required=\"${x => x.requiredVisible}\"\n @click=\"${(x, c) => x.clickHandler(c.event as MouseEvent)}\"\n @keydown=\"${(x, c) => x.keydownHandler(c.event as KeyboardEvent)}\"\n @focusout=\"${(x, c) => x.focusOutHandler(c.event as FocusEvent)}\"\n >\n <div class=\"label-container\">\n ${labelTemplate}\n <${iconExclamationMarkTag}\n severity=\"error\"\n class=\"error-icon\"\n ></${iconExclamationMarkTag}>\n </div>\n <div\n class=\"positioning-region ${x => (x.orientation === Orientation.horizontal ? 'horizontal' : 'vertical')}\"\n part=\"positioning-region\"\n >\n <slot\n ${slotted({\n property: 'slottedRadioButtons',\n filter: elements('[role=radio]')\n })}\n ></slot>\n ${errorTextTemplate}\n </div>\n </template>\n`;\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { type Notifier } from '@
|
|
2
|
-
import { FoundationElement } from '@
|
|
1
|
+
import { type Notifier } from '@ni/fast-element';
|
|
2
|
+
import { FoundationElement } from '@ni/fast-foundation';
|
|
3
3
|
import { RichTextMention } from '../../rich-text-mention/base';
|
|
4
4
|
import { Configuration } from '../models/configuration';
|
|
5
5
|
import { RichTextUpdateTracker } from '../models/rich-text-tracker';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import { Observable, observable } from '@
|
|
3
|
-
import { FoundationElement } from '@
|
|
2
|
+
import { Observable, observable } from '@ni/fast-element';
|
|
3
|
+
import { FoundationElement } from '@ni/fast-foundation';
|
|
4
4
|
import { RichTextMention } from '../../rich-text-mention/base';
|
|
5
5
|
import { MentionInternals } from '../../rich-text-mention/base/models/mention-internals';
|
|
6
6
|
import { Configuration } from '../models/configuration';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/rich-text/base/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAiB,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/rich-text/base/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { Observable, observable, type Notifier } from '@ni/fast-element';\nimport { FoundationElement } from '@ni/fast-foundation';\nimport { RichTextMention } from '../../rich-text-mention/base';\nimport { MentionInternals } from '../../rich-text-mention/base/models/mention-internals';\nimport { Configuration } from '../models/configuration';\nimport { RichTextUpdateTracker } from '../models/rich-text-tracker';\nimport { RichTextValidator } from '../models/rich-text-validator';\nimport type { RichTextValidity } from './types';\nimport { waitUntilCustomElementsDefinedAsync } from '../../utilities/wait-until-custom-elements-defined-async';\n\n/**\n * Base class for rich text components\n */\nexport abstract class RichText extends FoundationElement {\n /**\n * @internal\n */\n public mentionInternalsNotifiers: Notifier[] = [];\n\n /**\n * @internal\n */\n @observable\n public readonly childItems: Element[] = [];\n\n @observable\n protected configuration?: Configuration;\n\n protected mentionElements!: RichTextMention[];\n\n protected readonly richTextUpdateTracker = new RichTextUpdateTracker(this);\n\n protected readonly richTextValidator = new RichTextValidator();\n\n /**\n * @public\n */\n public get validity(): RichTextValidity {\n return this.richTextValidator.getValidity();\n }\n\n /**\n * @public\n */\n public checkValidity(): boolean {\n return this.richTextValidator.isValid();\n }\n\n /**\n * @internal\n */\n public abstract getMentionedHrefs(): string[];\n\n /**\n * @internal\n */\n public handleChange(source: unknown, args: unknown): void {\n if (source instanceof MentionInternals && typeof args === 'string') {\n this.richTextUpdateTracker.trackMentionInternalsPropertyChanged(\n args\n );\n }\n }\n\n /**\n * @internal\n */\n public createConfig(): void {\n this.validate();\n if (this.richTextValidator.isValid()) {\n if (\n this.richTextUpdateTracker.updateMappingConfigs\n || this.richTextUpdateTracker.updatePattern\n ) {\n this.configuration = new Configuration(this.mentionElements);\n }\n } else {\n this.configuration = undefined;\n }\n }\n\n protected validate(): void {\n this.richTextValidator.validate(this.mentionElements);\n }\n\n private childItemsChanged(\n prev: Element[] | undefined,\n _next: Element[]\n ): void {\n if (prev !== undefined) {\n void this.updateMentionElementsFromChildItems();\n }\n }\n\n private async updateMentionElementsFromChildItems(): Promise<void> {\n await waitUntilCustomElementsDefinedAsync(this.childItems);\n this.mentionElements = this.childItems.filter(\n (x): x is RichTextMention => x instanceof RichTextMention\n );\n this.observeMentionInternals();\n this.richTextUpdateTracker.trackMentionElementsInstancesChanged();\n }\n\n private observeMentionInternals(): void {\n this.removeMentionInternalsObservers();\n\n for (const mention of this.mentionElements) {\n const notifierInternals = Observable.getNotifier(\n mention.mentionInternals\n );\n notifierInternals.subscribe(this);\n this.mentionInternalsNotifiers.push(notifierInternals);\n }\n }\n\n private removeMentionInternalsObservers(): void {\n this.mentionInternalsNotifiers.forEach(notifier => {\n notifier.unsubscribe(this);\n });\n this.mentionInternalsNotifiers = [];\n }\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ARIAGlobalStatesAndProperties } from '@
|
|
1
|
+
import { ARIAGlobalStatesAndProperties } from '@ni/fast-foundation';
|
|
2
2
|
import { Editor } from '@tiptap/core';
|
|
3
3
|
import type { SuggestionProps } from '@tiptap/suggestion';
|
|
4
4
|
import type { ToggleButton } from '../../toggle-button';
|
|
@@ -18,7 +18,7 @@ declare const RichTextEditor_base: (abstract new (...args: any[]) => {
|
|
|
18
18
|
errorText?: string | undefined;
|
|
19
19
|
errorVisible: boolean;
|
|
20
20
|
errorHasOverflow: boolean;
|
|
21
|
-
readonly $fastController: import("@
|
|
21
|
+
readonly $fastController: import("@ni/fast-element").Controller;
|
|
22
22
|
$emit(type: string, detail?: any, options?: Omit<CustomEventInit<any>, "detail"> | undefined): boolean | void;
|
|
23
23
|
connectedCallback(): void;
|
|
24
24
|
disconnectedCallback(): void;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import { observable, attr, DOM } from '@
|
|
3
|
-
import { applyMixins, ARIAGlobalStatesAndProperties, DesignSystem } from '@
|
|
4
|
-
import { keyEnter, keySpace } from '@
|
|
2
|
+
import { observable, attr, DOM } from '@ni/fast-element';
|
|
3
|
+
import { applyMixins, ARIAGlobalStatesAndProperties, DesignSystem } from '@ni/fast-foundation';
|
|
4
|
+
import { keyEnter, keySpace } from '@ni/fast-web-utilities';
|
|
5
5
|
import { findParentNode, isList, Extension, Editor } from '@tiptap/core';
|
|
6
6
|
import HardBreak from '@tiptap/extension-hard-break';
|
|
7
7
|
import { template } from './template';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/rich-text/editor/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { observable, attr, DOM } from '@microsoft/fast-element';\nimport {\n applyMixins,\n ARIAGlobalStatesAndProperties,\n DesignSystem\n} from '@microsoft/fast-foundation';\nimport { keyEnter, keySpace } from '@microsoft/fast-web-utilities';\nimport {\n findParentNode,\n isList,\n type AnyExtension,\n Extension,\n Editor\n} from '@tiptap/core';\n\nimport type { PlaceholderOptions } from '@tiptap/extension-placeholder';\nimport HardBreak from '@tiptap/extension-hard-break';\nimport type { SuggestionProps } from '@tiptap/suggestion';\nimport { template } from './template';\nimport { styles } from './styles';\nimport type { ToggleButton } from '../../toggle-button';\nimport {\n TipTapNodeName,\n mentionPluginPrefix,\n type MentionDetail,\n type FormatButtonsState\n} from './types';\nimport { mixinErrorPattern } from '../../patterns/error/types';\nimport { RichTextMarkdownParser } from '../models/markdown-parser';\nimport { RichTextMarkdownSerializer } from '../models/markdown-serializer';\nimport { RichText } from '../base';\nimport type { RichTextMentionListbox } from '../mention-listbox';\nimport type { MappingConfigs } from '../../rich-text-mention/base/types';\nimport type { MentionExtensionConfiguration } from '../models/mention-extension-configuration';\nimport { createTiptapEditor } from './models/create-tiptap-editor';\nimport { EditorConfiguration } from '../models/editor-configuration';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-rich-text-editor': RichTextEditor;\n }\n}\n\n/**\n * A nimble styled rich text editor\n */\nexport class RichTextEditor extends mixinErrorPattern(RichText) {\n /**\n * @internal\n */\n public editorDiv = this.createEditor();\n\n /**\n * @internal\n */\n public tiptapEditor = createTiptapEditor(\n () => {},\n () => {},\n this.editorDiv,\n [],\n this.mentionListbox,\n this.placeholder\n );\n\n /**\n * @internal\n */\n public readonly xmlSerializer = new XMLSerializer();\n\n /**\n * @internal\n */\n public richTextMarkdownSerializer = new RichTextMarkdownSerializer([]);\n\n /**\n * Whether to disable user from editing and interacting with toolbar buttons\n *\n * @public\n * HTML Attribute: disabled\n */\n @attr({ mode: 'boolean' })\n public disabled = false;\n\n /**\n * Whether to hide the footer of the rich text editor\n *\n * @public\n * HTML Attribute: footer-hidden\n */\n @attr({ attribute: 'footer-hidden', mode: 'boolean' })\n public footerHidden = false;\n\n /**\n * @public\n * HTML Attribute: placeholder\n */\n @attr\n public placeholder?: string;\n\n /**\n * True if the editor is empty or contains only whitespace, false otherwise.\n *\n * @public\n */\n public get empty(): boolean {\n // Tiptap [isEmpty](https://tiptap.dev/api/editor#is-empty) returns false even if the editor has only whitespace.\n // Get the prose mirror textContent of all the nodes with whitespace trimmed to see if it is empty\n // Mention nodes are formatted as empty text content, so if empty make sure there are no mention nodes remaining\n if (this.tiptapEditor.state.doc.textContent.trim() === '') {\n let hasMention = false;\n this.tiptapEditor.state.doc.descendants(node => {\n if (node.type.name.startsWith(mentionPluginPrefix)) {\n hasMention = true;\n }\n const continueDescent = hasMention === false;\n return continueDescent;\n });\n return !hasMention;\n }\n return false;\n }\n\n /**\n * @internal\n */\n public mentionListbox?: RichTextMentionListbox;\n\n /**\n * @internal\n */\n @observable\n public boldButton!: ToggleButton;\n\n /**\n * @internal\n */\n @observable\n public italicsButton!: ToggleButton;\n\n /**\n * @internal\n */\n @observable\n public bulletListButton!: ToggleButton;\n\n /**\n * @internal\n */\n @observable\n public numberedListButton!: ToggleButton;\n\n /**\n * The width of the vertical scrollbar, if displayed.\n * @internal\n */\n @observable\n public scrollbarWidth = -1;\n\n /**\n * @internal\n */\n @observable\n public activeMentionCharacter = '';\n\n /**\n * @internal\n */\n @observable\n public activeMappingConfigs?: MappingConfigs;\n\n /**\n * @internal\n */\n public activeMentionCommand?: SuggestionProps['command'];\n\n /**\n * @internal\n */\n public editorContainer!: HTMLDivElement;\n\n private resizeObserver?: ResizeObserver;\n private updateScrollbarWidthQueued = false;\n\n /**\n * @internal\n */\n public override connectedCallback(): void {\n super.connectedCallback();\n if (!this.editorDiv.isConnected) {\n this.editorContainer.append(this.editorDiv);\n }\n this.bindEditorTransactionEvent();\n this.bindEditorUpdateEvent();\n this.stopNativeInputEventPropagation();\n this.resizeObserver = new ResizeObserver(() => this.onResize());\n this.resizeObserver.observe(this);\n }\n\n /**\n * @internal\n */\n public override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.unbindEditorTransactionEvent();\n this.unbindEditorUpdateEvent();\n this.unbindNativeInputEvent();\n this.resizeObserver?.disconnect();\n }\n\n /**\n * @internal\n */\n public disabledChanged(): void {\n this.disableEditor();\n this.disableMentionViewElement();\n }\n\n /**\n * Update the placeholder text and view of the editor.\n * @internal\n */\n public placeholderChanged(_prev: unknown, _next: unknown): void {\n const placeholderExtension = this.getTipTapExtension(\n 'placeholder'\n ) as Extension<PlaceholderOptions>;\n placeholderExtension.options.placeholder = this.placeholder ?? '';\n this.tiptapEditor.view.dispatch(this.tiptapEditor.state.tr);\n\n this.queueUpdateScrollbarWidth();\n }\n\n /**\n * @internal\n */\n public ariaLabelChanged(_prev: unknown, _next: unknown): void {\n if (this.ariaLabel !== null && this.ariaLabel !== undefined) {\n this.editorDiv.setAttribute('aria-label', this.ariaLabel);\n } else {\n this.editorDiv.removeAttribute('aria-label');\n }\n }\n\n /**\n * @internal\n */\n public configurationChanged(\n prev: EditorConfiguration | undefined,\n next: EditorConfiguration\n ): void {\n const formatButtonsState = this.getButtonsState(this.tiptapEditor);\n const { from, to } = this.tiptapEditor.view.state.selection;\n if (this.isMentionExtensionConfigUnchanged(prev, next)) {\n this.setMarkdown(this.getMarkdown());\n } else {\n const mentionExtensionConfig = this.getMentionExtensionConfig();\n const currentStateMarkdown = this.getMarkdown();\n this.richTextMarkdownSerializer = new RichTextMarkdownSerializer(\n mentionExtensionConfig.map(config => config.name)\n );\n this.initializeEditor();\n this.setMarkdown(currentStateMarkdown);\n }\n this.tiptapEditor.commands.setTextSelection({ from, to });\n this.resetEditorButtonsState(formatButtonsState);\n this.setActiveMappingConfigs();\n }\n\n /**\n * @internal\n */\n public activeMentionCharacterChanged(): void {\n this.setActiveMappingConfigs();\n }\n\n /**\n * Toggle the bold mark and focus back to the editor\n * @internal\n */\n public boldButtonClick(): void {\n this.tiptapEditor.chain().focus().toggleBold().run();\n }\n\n /**\n * Toggle the bold mark and focus back to the editor\n * @internal\n */\n public boldButtonKeyDown(event: KeyboardEvent): boolean {\n if (this.keyActivatesButton(event)) {\n this.tiptapEditor.chain().focus().toggleBold().run();\n return false;\n }\n return true;\n }\n\n /**\n * Toggle the italics mark and focus back to the editor\n * @internal\n */\n public italicsButtonClick(): void {\n this.tiptapEditor.chain().focus().toggleItalic().run();\n }\n\n /**\n * Toggle the italics mark and focus back to the editor\n * @internal\n */\n public italicsButtonKeyDown(event: KeyboardEvent): boolean {\n if (this.keyActivatesButton(event)) {\n this.tiptapEditor.chain().focus().toggleItalic().run();\n return false;\n }\n return true;\n }\n\n /**\n * Toggle the unordered list node and focus back to the editor\n * @internal\n */\n public bulletListButtonClick(): void {\n this.tiptapEditor.chain().focus().toggleBulletList().run();\n }\n\n /**\n * Toggle the unordered list node and focus back to the editor\n * @internal\n */\n public bulletListButtonKeyDown(event: KeyboardEvent): boolean {\n if (this.keyActivatesButton(event)) {\n this.tiptapEditor.chain().focus().toggleBulletList().run();\n return false;\n }\n return true;\n }\n\n /**\n * Toggle the ordered list node and focus back to the editor\n * @internal\n */\n public numberedListButtonClick(): void {\n this.tiptapEditor.chain().focus().toggleOrderedList().run();\n }\n\n /**\n * Toggle the ordered list node and focus back to the editor\n * @internal\n */\n public numberedListButtonKeyDown(event: KeyboardEvent): boolean {\n if (this.keyActivatesButton(event)) {\n this.tiptapEditor.chain().focus().toggleOrderedList().run();\n return false;\n }\n return true;\n }\n\n /**\n * Inserts the mention character into the editor and focus back to the editor\n * @internal\n */\n public mentionButtonClick(character: string): void {\n this.tiptapEditor\n .chain()\n .insertContent(\n this.shouldInsertSpace() ? ` ${character}` : character\n )\n .focus()\n .run();\n }\n\n /**\n * This function load tip tap editor with provided markdown content by parsing into html\n * @public\n */\n public setMarkdown(markdown: string): void {\n const html = this.getHtmlContent(markdown);\n this.tiptapEditor.commands.setContent(html);\n this.disableMentionViewElement();\n }\n\n /**\n * This function returns markdown string by serializing tiptap editor document using prosemirror MarkdownSerializer\n * @public\n */\n public getMarkdown(): string {\n return this.richTextMarkdownSerializer.serializeDOMToMarkdown(\n this.tiptapEditor.state.doc\n );\n }\n\n /**\n * @internal\n */\n public stopEventPropagation(event: Event): boolean {\n // Don't bubble the 'change' event from the toggle button because\n // all the formatting button has its own 'toggle' event through 'click' and 'keydown'.\n event.stopPropagation();\n return false;\n }\n\n public getMentionedHrefs(): string[] {\n const mentionedHrefs = new Set<string>();\n this.tiptapEditor.state.doc.descendants(node => {\n if (node.type.name.startsWith(mentionPluginPrefix)) {\n mentionedHrefs.add(node.attrs.href as string);\n }\n });\n return Array.from(mentionedHrefs);\n }\n\n /**\n * @internal\n */\n public getMentionExtensionConfig(): MentionExtensionConfiguration[] {\n return this.configuration instanceof EditorConfiguration\n ? this.configuration.mentionExtensionConfig\n : [];\n }\n\n /**\n * @internal\n */\n public onMentionSelect(event: CustomEvent<MentionDetail>): void {\n if (this.activeMentionCommand) {\n this.activeMentionCommand({\n href: event.detail.href,\n label: event.detail.displayName\n });\n }\n }\n\n /**\n * @internal\n */\n public focusoutHandler(): void {\n if (!this.mentionListbox?.open) {\n return;\n }\n this.mentionListbox?.close();\n }\n\n public override createConfig(): void {\n this.validate();\n if (this.richTextValidator.isValid()) {\n if (\n this.richTextUpdateTracker.updateButtonLabel\n || this.richTextUpdateTracker.updateMappingConfigs\n || this.richTextUpdateTracker.updatePattern\n ) {\n this.configuration = new EditorConfiguration(\n this.mentionElements\n );\n }\n } else {\n this.configuration = undefined;\n }\n }\n\n private isMentionExtensionConfigUnchanged(\n prev: EditorConfiguration | undefined,\n next: EditorConfiguration | undefined\n ): boolean {\n const prevConfigCharacters = prev?.mentionExtensionConfig\n .map(config => config.character)\n .sort((a, b) => a.localeCompare(b))\n .toString();\n const nextConfigCharacters = next?.mentionExtensionConfig\n .map(config => config.character)\n .sort((a, b) => a.localeCompare(b))\n .toString();\n return prevConfigCharacters === nextConfigCharacters;\n }\n\n private createEditor(): HTMLDivElement {\n const editor = document.createElement('div');\n editor.className = 'editor';\n editor.setAttribute('aria-multiline', 'true');\n editor.setAttribute('role', 'textbox');\n editor.setAttribute('aria-disabled', 'false');\n return editor;\n }\n\n private initializeEditor(): void {\n this.unbindEditorTransactionEvent();\n this.unbindEditorUpdateEvent();\n this.unbindNativeInputEvent();\n this.tiptapEditor?.destroy();\n this.tiptapEditor = createTiptapEditor(\n character => {\n this.activeMentionCharacter = character;\n },\n command => {\n this.activeMentionCommand = command;\n },\n this.editorDiv,\n this.configuration instanceof EditorConfiguration\n ? this.configuration.mentionExtensionConfig\n : [],\n this.mentionListbox,\n this.placeholder\n );\n this.disableEditor();\n this.disableMentionViewElement();\n this.bindEditorTransactionEvent();\n this.bindEditorUpdateEvent();\n this.stopNativeInputEventPropagation();\n }\n\n /**\n * This function takes the Fragment from parseMarkdownToDOM function and return the serialized string using XMLSerializer\n */\n private getHtmlContent(markdown: string): string {\n const parseResult = RichTextMarkdownParser.parseMarkdownToDOM(\n markdown,\n this.configuration?.parserMentionConfig\n );\n return this.xmlSerializer.serializeToString(parseResult.fragment);\n }\n\n /**\n * Binding the \"transaction\" event to the editor allows continuous monitoring the events and updating the button state in response to\n * various actions such as mouse events, keyboard events, changes in the editor content etc,.\n * https://tiptap.dev/api/events#transaction\n */\n private bindEditorTransactionEvent(): void {\n this.tiptapEditor.on('transaction', () => {\n this.updateEditorButtonsState();\n });\n }\n\n private unbindEditorTransactionEvent(): void {\n this.tiptapEditor.off('transaction');\n }\n\n private updateEditorButtonsState(): void {\n if (!this.$fastController.isConnected) {\n return;\n }\n\n const { extensionManager, state } = this.tiptapEditor;\n const { extensions } = extensionManager;\n const { selection } = state;\n const parentList = findParentNode((node: { type: { name: string } }) => isList(node.type.name, extensions))(selection);\n\n this.boldButton.checked = this.tiptapEditor.isActive('bold');\n this.italicsButton.checked = this.tiptapEditor.isActive('italic');\n this.bulletListButton.checked = parentList?.node.type.name === TipTapNodeName.bulletList;\n this.numberedListButton.checked = parentList?.node.type.name === TipTapNodeName.numberedList;\n }\n\n private keyActivatesButton(event: KeyboardEvent): boolean {\n switch (event.key) {\n case keySpace:\n case keyEnter:\n return true;\n default:\n return false;\n }\n }\n\n private unbindEditorUpdateEvent(): void {\n this.tiptapEditor.off('update');\n }\n\n /**\n * input event is fired when there is a change in the content of the editor.\n *\n * https://tiptap.dev/api/events#update\n */\n private bindEditorUpdateEvent(): void {\n this.tiptapEditor.on('update', () => {\n this.$emit('input');\n this.queueUpdateScrollbarWidth();\n });\n }\n\n private disableEditor(): void {\n this.tiptapEditor.setEditable(!this.disabled);\n this.setEditorTabIndex();\n this.editorDiv.setAttribute(\n 'aria-disabled',\n this.disabled ? 'true' : 'false'\n );\n this.mentionListbox?.close();\n }\n\n private disableMentionViewElement(): void {\n this.tiptapEditor.state.doc.descendants((node, pos) => {\n if (node.type.name.startsWith(mentionPluginPrefix)) {\n const updatedAttrs = {\n ...node.attrs,\n disabled: this.disabled ? '' : null\n };\n const updatedNode = this.tiptapEditor.schema.node(\n node.type.name,\n updatedAttrs,\n node.content\n );\n const updatedTransaction = this.tiptapEditor.state.tr.replaceWith(\n pos,\n pos + node.nodeSize,\n updatedNode\n );\n this.tiptapEditor.view.dispatch(updatedTransaction);\n }\n return true;\n });\n }\n\n /**\n * Stopping the native input event propagation emitted by the contenteditable element in the Tiptap\n * since there is an issue (linked below) in ProseMirror where selecting the text and removing it\n * does not trigger the native HTMLElement input event. So using the \"update\" event emitted by the\n * Tiptap to capture it as an \"input\" customEvent in the rich text editor.\n *\n * Prose Mirror issue: https://discuss.prosemirror.net/t/how-to-handle-select-backspace-delete-cut-type-kind-of-events-handletextinput-or-handledomevents-input-doesnt-help/4844\n */\n private stopNativeInputEventPropagation(): void {\n this.tiptapEditor.view.dom.addEventListener('input', event => {\n event.stopPropagation();\n });\n }\n\n private unbindNativeInputEvent(): void {\n this.tiptapEditor.view.dom.removeEventListener('input', () => {});\n }\n\n private queueUpdateScrollbarWidth(): void {\n if (!this.$fastController.isConnected) {\n return;\n }\n if (!this.updateScrollbarWidthQueued) {\n this.updateScrollbarWidthQueued = true;\n DOM.queueUpdate(() => this.updateScrollbarWidth());\n }\n }\n\n private updateScrollbarWidth(): void {\n this.updateScrollbarWidthQueued = false;\n this.scrollbarWidth = this.tiptapEditor.view.dom.offsetWidth\n - this.tiptapEditor.view.dom.clientWidth;\n }\n\n private onResize(): void {\n this.scrollbarWidth = this.tiptapEditor.view.dom.offsetWidth\n - this.tiptapEditor.view.dom.clientWidth;\n }\n\n private getTipTapExtension(\n extensionName: string\n ): AnyExtension | undefined {\n return this.tiptapEditor.extensionManager.extensions.find(\n (extension: { name: string }) => extension.name === extensionName\n );\n }\n\n private setEditorTabIndex(): void {\n this.tiptapEditor.setOptions({\n editorProps: {\n attributes: {\n tabindex: this.disabled ? '-1' : '0'\n }\n }\n });\n }\n\n private setActiveMappingConfigs(): void {\n this.activeMappingConfigs = this.activeMentionCharacter\n ? this.getMentionExtensionConfigFromCharacter(\n this.activeMentionCharacter\n )?.mappingConfigs\n : undefined;\n }\n\n private shouldInsertSpace(): boolean {\n const { $anchor, $head } = this.tiptapEditor.view.state.selection;\n\n const isAtStartOfLine = $head.parentOffset === 0 || $anchor.parentOffset === 0;\n const nodeBeforeSelection = $anchor.pos < $head.pos ? $anchor.nodeBefore : $head.nodeBefore;\n const isHardBreakNode = nodeBeforeSelection?.type.name === HardBreak.name;\n const hasWhitespaceBeforeCurrentPosition = nodeBeforeSelection?.textContent.endsWith(' ');\n\n return (\n !isAtStartOfLine\n && !isHardBreakNode\n && !hasWhitespaceBeforeCurrentPosition\n );\n }\n\n private getMentionExtensionConfigFromCharacter(\n character: string\n ): MentionExtensionConfiguration | undefined {\n return this.getMentionExtensionConfig().find(\n config => config.character === character\n );\n }\n\n private resetEditorButtonsState(\n buttonsState: FormatButtonsState | undefined\n ): void {\n if (buttonsState?.bold && !this.tiptapEditor.isActive('bold')) {\n this.tiptapEditor.chain().focus().toggleBold().run();\n }\n if (buttonsState?.italics && !this.tiptapEditor.isActive('italic')) {\n this.tiptapEditor.chain().focus().toggleItalic().run();\n }\n }\n\n private getButtonsState(\n tiptapEditor: Editor\n ): FormatButtonsState | undefined {\n if (!this.$fastController.isConnected) {\n return undefined;\n }\n return {\n bold: tiptapEditor.isActive('bold'),\n italics: tiptapEditor.isActive('italic')\n };\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface RichTextEditor extends ARIAGlobalStatesAndProperties {}\napplyMixins(RichTextEditor, ARIAGlobalStatesAndProperties);\n\nconst nimbleRichTextEditor = RichTextEditor.compose({\n baseName: 'rich-text-editor',\n template,\n styles,\n shadowOptions: {\n delegatesFocus: true\n }\n});\n\nDesignSystem.getOrCreate()\n .withPrefix('nimble')\n .register(nimbleRichTextEditor());\nexport const richTextEditorTag = 'nimble-rich-text-editor';\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/rich-text/editor/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EACH,WAAW,EACX,6BAA6B,EAC7B,YAAY,EACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EACH,cAAc,EACd,MAAM,EAEN,SAAS,EACT,MAAM,EACT,MAAM,cAAc,CAAC;AAGtB,OAAO,SAAS,MAAM,8BAA8B,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EACH,cAAc,EACd,mBAAmB,EAGtB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAInC,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAQrE;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,iBAAiB,CAAC,QAAQ,CAAC;IAA/D;;QACI;;WAEG;QACI,cAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAEvC;;WAEG;QACI,iBAAY,GAAG,kBAAkB,CACpC,GAAG,EAAE,GAAE,CAAC,EACR,GAAG,EAAE,GAAE,CAAC,EACR,IAAI,CAAC,SAAS,EACd,EAAE,EACF,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,WAAW,CACnB,CAAC;QAEF;;WAEG;QACa,kBAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAEpD;;WAEG;QACI,+BAA0B,GAAG,IAAI,0BAA0B,CAAC,EAAE,CAAC,CAAC;QAEvE;;;;;WAKG;QAEI,aAAQ,GAAG,KAAK,CAAC;QAExB;;;;;WAKG;QAEI,iBAAY,GAAG,KAAK,CAAC;QA6D5B;;;WAGG;QAEI,mBAAc,GAAG,CAAC,CAAC,CAAC;QAE3B;;WAEG;QAEI,2BAAsB,GAAG,EAAE,CAAC;QAmB3B,+BAA0B,GAAG,KAAK,CAAC;IAwhB/C,CAAC;IA1mBG;;;;OAIG;IACH,IAAW,KAAK;QACZ,iHAAiH;QACjH,kGAAkG;QAClG,gHAAgH;QAChH,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACxD,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;gBAC3C,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;oBACjD,UAAU,GAAG,IAAI,CAAC;gBACtB,CAAC;gBACD,MAAM,eAAe,GAAG,UAAU,KAAK,KAAK,CAAC;gBAC7C,OAAO,eAAe,CAAC;YAC3B,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,UAAU,CAAC;QACvB,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IA+DD;;OAEG;IACa,iBAAiB;QAC7B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;YAC9B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACa,oBAAoB;QAChC,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACpC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,CAAC;IACtC,CAAC;IAED;;OAEG;IACI,eAAe;QAClB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACrC,CAAC;IAED;;;OAGG;IACI,kBAAkB,CAAC,KAAc,EAAE,KAAc;QACpD,MAAM,oBAAoB,GAAG,IAAI,CAAC,kBAAkB,CAChD,aAAa,CACiB,CAAC;QACnC,oBAAoB,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;QAClE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAE5D,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACrC,CAAC;IAED;;OAEG;IACI,gBAAgB,CAAC,KAAc,EAAE,KAAc;QAClD,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC1D,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QACjD,CAAC;IACL,CAAC;IAED;;OAEG;IACI,oBAAoB,CACvB,IAAqC,EACrC,IAAyB;QAEzB,MAAM,kBAAkB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAC5D,IAAI,IAAI,CAAC,iCAAiC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACJ,MAAM,sBAAsB,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;YAChE,MAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAChD,IAAI,CAAC,0BAA0B,GAAG,IAAI,0BAA0B,CAC5D,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CACpD,CAAC;YACF,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;QACjD,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACnC,CAAC;IAED;;OAEG;IACI,6BAA6B;QAChC,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACnC,CAAC;IAED;;;OAGG;IACI,eAAe;QAClB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC;IACzD,CAAC;IAED;;;OAGG;IACI,iBAAiB,CAAC,KAAoB;QACzC,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC;YACrD,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACI,kBAAkB;QACrB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACI,oBAAoB,CAAC,KAAoB;QAC5C,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC;YACvD,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACI,qBAAqB;QACxB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAC;IAC/D,CAAC;IAED;;;OAGG;IACI,uBAAuB,CAAC,KAAoB;QAC/C,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAC;YAC3D,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACI,uBAAuB;QAC1B,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,CAAC;IAChE,CAAC;IAED;;;OAGG;IACI,yBAAyB,CAAC,KAAoB;QACjD,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,CAAC;YAC5D,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACI,kBAAkB,CAAC,SAAiB;QACvC,IAAI,CAAC,YAAY;aACZ,KAAK,EAAE;aACP,aAAa,CACV,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CACzD;aACA,KAAK,EAAE;aACP,GAAG,EAAE,CAAC;IACf,CAAC;IAED;;;OAGG;IACI,WAAW,CAAC,QAAgB;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACrC,CAAC;IAED;;;OAGG;IACI,WAAW;QACd,OAAO,IAAI,CAAC,0BAA0B,CAAC,sBAAsB,CACzD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAC9B,CAAC;IACN,CAAC;IAED;;OAEG;IACI,oBAAoB,CAAC,KAAY;QACpC,iEAAiE;QACjE,sFAAsF;QACtF,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,iBAAiB;QACpB,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;QACzC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;YAC3C,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACjD,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAc,CAAC,CAAC;YAClD,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACI,yBAAyB;QAC5B,OAAO,IAAI,CAAC,aAAa,YAAY,mBAAmB;YACpD,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,sBAAsB;YAC3C,CAAC,CAAC,EAAE,CAAC;IACb,CAAC;IAED;;OAEG;IACI,eAAe,CAAC,KAAiC;QACpD,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,IAAI,CAAC,oBAAoB,CAAC;gBACtB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;gBACvB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW;aAClC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED;;OAEG;IACI,eAAe;QAClB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC;YAC7B,OAAO;QACX,CAAC;QACD,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC;IACjC,CAAC;IAEe,YAAY;QACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,CAAC;YACnC,IACI,IAAI,CAAC,qBAAqB,CAAC,iBAAiB;mBACzC,IAAI,CAAC,qBAAqB,CAAC,oBAAoB;mBAC/C,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAC7C,CAAC;gBACC,IAAI,CAAC,aAAa,GAAG,IAAI,mBAAmB,CACxC,IAAI,CAAC,eAAe,CACvB,CAAC;YACN,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QACnC,CAAC;IACL,CAAC;IAEO,iCAAiC,CACrC,IAAqC,EACrC,IAAqC;QAErC,MAAM,oBAAoB,GAAG,IAAI,EAAE,sBAAsB;aACpD,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;aAC/B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAClC,QAAQ,EAAE,CAAC;QAChB,MAAM,oBAAoB,GAAG,IAAI,EAAE,sBAAsB;aACpD,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;aAC/B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAClC,QAAQ,EAAE,CAAC;QAChB,OAAO,oBAAoB,KAAK,oBAAoB,CAAC;IACzD,CAAC;IAEO,YAAY;QAChB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC5B,MAAM,CAAC,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACvC,MAAM,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC9C,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,gBAAgB;QACpB,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACpC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAClC,SAAS,CAAC,EAAE;YACR,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC;QAC5C,CAAC,EACD,OAAO,CAAC,EAAE;YACN,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC;QACxC,CAAC,EACD,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,aAAa,YAAY,mBAAmB;YAC7C,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,sBAAsB;YAC3C,CAAC,CAAC,EAAE,EACR,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,WAAW,CACnB,CAAC;QACF,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,+BAA+B,EAAE,CAAC;IAC3C,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,QAAgB;QACnC,MAAM,WAAW,GAAG,sBAAsB,CAAC,kBAAkB,CACzD,QAAQ,EACR,IAAI,CAAC,aAAa,EAAE,mBAAmB,CAC1C,CAAC;QACF,OAAO,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACtE,CAAC;IAED;;;;OAIG;IACK,0BAA0B;QAC9B,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;YACrC,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACpC,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,4BAA4B;QAChC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACzC,CAAC;IAEO,wBAAwB;QAC5B,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;YACpC,OAAO;QACX,CAAC;QAED,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;QACtD,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAgB,CAAC;QACxC,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;QAC5B,MAAM,UAAU,GAAG,cAAc,CAAC,CAAC,IAAgC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAEvH,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,CAAC,gBAAgB,CAAC,OAAO,GAAG,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU,CAAC;QACzF,IAAI,CAAC,kBAAkB,CAAC,OAAO,GAAG,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,YAAY,CAAC;IACjG,CAAC;IAEO,kBAAkB,CAAC,KAAoB;QAC3C,QAAQ,KAAK,CAAC,GAAG,EAAE,CAAC;YAChB,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ;gBACT,OAAO,IAAI,CAAC;YAChB;gBACI,OAAO,KAAK,CAAC;QACrB,CAAC;IACL,CAAC;IAEO,uBAAuB;QAC3B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACK,qBAAqB;QACzB,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACpB,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACrC,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,aAAa;QACjB,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,SAAS,CAAC,YAAY,CACvB,eAAe,EACf,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CACnC,CAAC;QACF,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC;IACjC,CAAC;IAEO,yBAAyB;QAC7B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YAClD,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACjD,MAAM,YAAY,GAAG;oBACjB,GAAG,IAAI,CAAC,KAAK;oBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;iBACtC,CAAC;gBACF,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAC7C,IAAI,CAAC,IAAI,CAAC,IAAI,EACd,YAAY,EACZ,IAAI,CAAC,OAAO,CACf,CAAC;gBACF,MAAM,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAC7D,GAAG,EACH,GAAG,GAAG,IAAI,CAAC,QAAQ,EACnB,WAAW,CACd,CAAC;gBACF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;YACxD,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;OAOG;IACK,+BAA+B;QACnC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;YACzD,KAAK,CAAC,eAAe,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,sBAAsB;QAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACtE,CAAC;IAEO,yBAAyB;QAC7B,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;YACpC,OAAO;QACX,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACnC,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;YACvC,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;QACvD,CAAC;IACL,CAAC;IAEO,oBAAoB;QACxB,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;QACxC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW;cACtD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;IACjD,CAAC;IAEO,QAAQ;QACZ,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW;cACtD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;IACjD,CAAC;IAEO,kBAAkB,CACtB,aAAqB;QAErB,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CACrD,CAAC,SAA2B,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,aAAa,CACpE,CAAC;IACN,CAAC;IAEO,iBAAiB;QACrB,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;YACzB,WAAW,EAAE;gBACT,UAAU,EAAE;oBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;iBACvC;aACJ;SACJ,CAAC,CAAC;IACP,CAAC;IAEO,uBAAuB;QAC3B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,sBAAsB;YACnD,CAAC,CAAC,IAAI,CAAC,sCAAsC,CACzC,IAAI,CAAC,sBAAsB,CAC9B,EAAE,cAAc;YACjB,CAAC,CAAC,SAAS,CAAC;IACpB,CAAC;IAEO,iBAAiB;QACrB,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAElE,MAAM,eAAe,GAAG,KAAK,CAAC,YAAY,KAAK,CAAC,IAAI,OAAO,CAAC,YAAY,KAAK,CAAC,CAAC;QAC/E,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;QAC5F,MAAM,eAAe,GAAG,mBAAmB,EAAE,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC;QAC1E,MAAM,kCAAkC,GAAG,mBAAmB,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAE1F,OAAO,CACH,CAAC,eAAe;eACb,CAAC,eAAe;eAChB,CAAC,kCAAkC,CACzC,CAAC;IACN,CAAC;IAEO,sCAAsC,CAC1C,SAAiB;QAEjB,OAAO,IAAI,CAAC,yBAAyB,EAAE,CAAC,IAAI,CACxC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAC3C,CAAC;IACN,CAAC;IAEO,uBAAuB,CAC3B,YAA4C;QAE5C,IAAI,YAAY,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC;QACzD,CAAC;QACD,IAAI,YAAY,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC;QAC3D,CAAC;IACL,CAAC;IAEO,eAAe,CACnB,YAAoB;QAEpB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;YACpC,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,OAAO;YACH,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC;YACnC,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC;SAC3C,CAAC;IACN,CAAC;CACJ;AA5nBU;IADN,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;gDACF;AASjB;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;oDAC1B;AAOrB;IADN,IAAI;mDACuB;AAkCrB;IADN,UAAU;kDACsB;AAM1B;IADN,UAAU;qDACyB;AAM7B;IADN,UAAU;wDAC4B;AAMhC;IADN,UAAU;0DAC8B;AAOlC;IADN,UAAU;sDACgB;AAMpB;IADN,UAAU;8DACwB;AAM5B;IADN,UAAU;4DACkC;AAyiBjD,WAAW,CAAC,cAAc,EAAE,6BAA6B,CAAC,CAAC;AAE3D,MAAM,oBAAoB,GAAG,cAAc,CAAC,OAAO,CAAC;IAChD,QAAQ,EAAE,kBAAkB;IAC5B,QAAQ;IACR,MAAM;IACN,aAAa,EAAE;QACX,cAAc,EAAE,IAAI;KACvB;CACJ,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE;KACrB,UAAU,CAAC,QAAQ,CAAC;KACpB,QAAQ,CAAC,oBAAoB,EAAE,CAAC,CAAC;AACtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,yBAAyB,CAAC","sourcesContent":["import { observable, attr, DOM } from '@ni/fast-element';\nimport {\n applyMixins,\n ARIAGlobalStatesAndProperties,\n DesignSystem\n} from '@ni/fast-foundation';\nimport { keyEnter, keySpace } from '@ni/fast-web-utilities';\nimport {\n findParentNode,\n isList,\n type AnyExtension,\n Extension,\n Editor\n} from '@tiptap/core';\n\nimport type { PlaceholderOptions } from '@tiptap/extension-placeholder';\nimport HardBreak from '@tiptap/extension-hard-break';\nimport type { SuggestionProps } from '@tiptap/suggestion';\nimport { template } from './template';\nimport { styles } from './styles';\nimport type { ToggleButton } from '../../toggle-button';\nimport {\n TipTapNodeName,\n mentionPluginPrefix,\n type MentionDetail,\n type FormatButtonsState\n} from './types';\nimport { mixinErrorPattern } from '../../patterns/error/types';\nimport { RichTextMarkdownParser } from '../models/markdown-parser';\nimport { RichTextMarkdownSerializer } from '../models/markdown-serializer';\nimport { RichText } from '../base';\nimport type { RichTextMentionListbox } from '../mention-listbox';\nimport type { MappingConfigs } from '../../rich-text-mention/base/types';\nimport type { MentionExtensionConfiguration } from '../models/mention-extension-configuration';\nimport { createTiptapEditor } from './models/create-tiptap-editor';\nimport { EditorConfiguration } from '../models/editor-configuration';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nimble-rich-text-editor': RichTextEditor;\n }\n}\n\n/**\n * A nimble styled rich text editor\n */\nexport class RichTextEditor extends mixinErrorPattern(RichText) {\n /**\n * @internal\n */\n public editorDiv = this.createEditor();\n\n /**\n * @internal\n */\n public tiptapEditor = createTiptapEditor(\n () => {},\n () => {},\n this.editorDiv,\n [],\n this.mentionListbox,\n this.placeholder\n );\n\n /**\n * @internal\n */\n public readonly xmlSerializer = new XMLSerializer();\n\n /**\n * @internal\n */\n public richTextMarkdownSerializer = new RichTextMarkdownSerializer([]);\n\n /**\n * Whether to disable user from editing and interacting with toolbar buttons\n *\n * @public\n * HTML Attribute: disabled\n */\n @attr({ mode: 'boolean' })\n public disabled = false;\n\n /**\n * Whether to hide the footer of the rich text editor\n *\n * @public\n * HTML Attribute: footer-hidden\n */\n @attr({ attribute: 'footer-hidden', mode: 'boolean' })\n public footerHidden = false;\n\n /**\n * @public\n * HTML Attribute: placeholder\n */\n @attr\n public placeholder?: string;\n\n /**\n * True if the editor is empty or contains only whitespace, false otherwise.\n *\n * @public\n */\n public get empty(): boolean {\n // Tiptap [isEmpty](https://tiptap.dev/api/editor#is-empty) returns false even if the editor has only whitespace.\n // Get the prose mirror textContent of all the nodes with whitespace trimmed to see if it is empty\n // Mention nodes are formatted as empty text content, so if empty make sure there are no mention nodes remaining\n if (this.tiptapEditor.state.doc.textContent.trim() === '') {\n let hasMention = false;\n this.tiptapEditor.state.doc.descendants(node => {\n if (node.type.name.startsWith(mentionPluginPrefix)) {\n hasMention = true;\n }\n const continueDescent = hasMention === false;\n return continueDescent;\n });\n return !hasMention;\n }\n return false;\n }\n\n /**\n * @internal\n */\n public mentionListbox?: RichTextMentionListbox;\n\n /**\n * @internal\n */\n @observable\n public boldButton!: ToggleButton;\n\n /**\n * @internal\n */\n @observable\n public italicsButton!: ToggleButton;\n\n /**\n * @internal\n */\n @observable\n public bulletListButton!: ToggleButton;\n\n /**\n * @internal\n */\n @observable\n public numberedListButton!: ToggleButton;\n\n /**\n * The width of the vertical scrollbar, if displayed.\n * @internal\n */\n @observable\n public scrollbarWidth = -1;\n\n /**\n * @internal\n */\n @observable\n public activeMentionCharacter = '';\n\n /**\n * @internal\n */\n @observable\n public activeMappingConfigs?: MappingConfigs;\n\n /**\n * @internal\n */\n public activeMentionCommand?: SuggestionProps['command'];\n\n /**\n * @internal\n */\n public editorContainer!: HTMLDivElement;\n\n private resizeObserver?: ResizeObserver;\n private updateScrollbarWidthQueued = false;\n\n /**\n * @internal\n */\n public override connectedCallback(): void {\n super.connectedCallback();\n if (!this.editorDiv.isConnected) {\n this.editorContainer.append(this.editorDiv);\n }\n this.bindEditorTransactionEvent();\n this.bindEditorUpdateEvent();\n this.stopNativeInputEventPropagation();\n this.resizeObserver = new ResizeObserver(() => this.onResize());\n this.resizeObserver.observe(this);\n }\n\n /**\n * @internal\n */\n public override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.unbindEditorTransactionEvent();\n this.unbindEditorUpdateEvent();\n this.unbindNativeInputEvent();\n this.resizeObserver?.disconnect();\n }\n\n /**\n * @internal\n */\n public disabledChanged(): void {\n this.disableEditor();\n this.disableMentionViewElement();\n }\n\n /**\n * Update the placeholder text and view of the editor.\n * @internal\n */\n public placeholderChanged(_prev: unknown, _next: unknown): void {\n const placeholderExtension = this.getTipTapExtension(\n 'placeholder'\n ) as Extension<PlaceholderOptions>;\n placeholderExtension.options.placeholder = this.placeholder ?? '';\n this.tiptapEditor.view.dispatch(this.tiptapEditor.state.tr);\n\n this.queueUpdateScrollbarWidth();\n }\n\n /**\n * @internal\n */\n public ariaLabelChanged(_prev: unknown, _next: unknown): void {\n if (this.ariaLabel !== null && this.ariaLabel !== undefined) {\n this.editorDiv.setAttribute('aria-label', this.ariaLabel);\n } else {\n this.editorDiv.removeAttribute('aria-label');\n }\n }\n\n /**\n * @internal\n */\n public configurationChanged(\n prev: EditorConfiguration | undefined,\n next: EditorConfiguration\n ): void {\n const formatButtonsState = this.getButtonsState(this.tiptapEditor);\n const { from, to } = this.tiptapEditor.view.state.selection;\n if (this.isMentionExtensionConfigUnchanged(prev, next)) {\n this.setMarkdown(this.getMarkdown());\n } else {\n const mentionExtensionConfig = this.getMentionExtensionConfig();\n const currentStateMarkdown = this.getMarkdown();\n this.richTextMarkdownSerializer = new RichTextMarkdownSerializer(\n mentionExtensionConfig.map(config => config.name)\n );\n this.initializeEditor();\n this.setMarkdown(currentStateMarkdown);\n }\n this.tiptapEditor.commands.setTextSelection({ from, to });\n this.resetEditorButtonsState(formatButtonsState);\n this.setActiveMappingConfigs();\n }\n\n /**\n * @internal\n */\n public activeMentionCharacterChanged(): void {\n this.setActiveMappingConfigs();\n }\n\n /**\n * Toggle the bold mark and focus back to the editor\n * @internal\n */\n public boldButtonClick(): void {\n this.tiptapEditor.chain().focus().toggleBold().run();\n }\n\n /**\n * Toggle the bold mark and focus back to the editor\n * @internal\n */\n public boldButtonKeyDown(event: KeyboardEvent): boolean {\n if (this.keyActivatesButton(event)) {\n this.tiptapEditor.chain().focus().toggleBold().run();\n return false;\n }\n return true;\n }\n\n /**\n * Toggle the italics mark and focus back to the editor\n * @internal\n */\n public italicsButtonClick(): void {\n this.tiptapEditor.chain().focus().toggleItalic().run();\n }\n\n /**\n * Toggle the italics mark and focus back to the editor\n * @internal\n */\n public italicsButtonKeyDown(event: KeyboardEvent): boolean {\n if (this.keyActivatesButton(event)) {\n this.tiptapEditor.chain().focus().toggleItalic().run();\n return false;\n }\n return true;\n }\n\n /**\n * Toggle the unordered list node and focus back to the editor\n * @internal\n */\n public bulletListButtonClick(): void {\n this.tiptapEditor.chain().focus().toggleBulletList().run();\n }\n\n /**\n * Toggle the unordered list node and focus back to the editor\n * @internal\n */\n public bulletListButtonKeyDown(event: KeyboardEvent): boolean {\n if (this.keyActivatesButton(event)) {\n this.tiptapEditor.chain().focus().toggleBulletList().run();\n return false;\n }\n return true;\n }\n\n /**\n * Toggle the ordered list node and focus back to the editor\n * @internal\n */\n public numberedListButtonClick(): void {\n this.tiptapEditor.chain().focus().toggleOrderedList().run();\n }\n\n /**\n * Toggle the ordered list node and focus back to the editor\n * @internal\n */\n public numberedListButtonKeyDown(event: KeyboardEvent): boolean {\n if (this.keyActivatesButton(event)) {\n this.tiptapEditor.chain().focus().toggleOrderedList().run();\n return false;\n }\n return true;\n }\n\n /**\n * Inserts the mention character into the editor and focus back to the editor\n * @internal\n */\n public mentionButtonClick(character: string): void {\n this.tiptapEditor\n .chain()\n .insertContent(\n this.shouldInsertSpace() ? ` ${character}` : character\n )\n .focus()\n .run();\n }\n\n /**\n * This function load tip tap editor with provided markdown content by parsing into html\n * @public\n */\n public setMarkdown(markdown: string): void {\n const html = this.getHtmlContent(markdown);\n this.tiptapEditor.commands.setContent(html);\n this.disableMentionViewElement();\n }\n\n /**\n * This function returns markdown string by serializing tiptap editor document using prosemirror MarkdownSerializer\n * @public\n */\n public getMarkdown(): string {\n return this.richTextMarkdownSerializer.serializeDOMToMarkdown(\n this.tiptapEditor.state.doc\n );\n }\n\n /**\n * @internal\n */\n public stopEventPropagation(event: Event): boolean {\n // Don't bubble the 'change' event from the toggle button because\n // all the formatting button has its own 'toggle' event through 'click' and 'keydown'.\n event.stopPropagation();\n return false;\n }\n\n public getMentionedHrefs(): string[] {\n const mentionedHrefs = new Set<string>();\n this.tiptapEditor.state.doc.descendants(node => {\n if (node.type.name.startsWith(mentionPluginPrefix)) {\n mentionedHrefs.add(node.attrs.href as string);\n }\n });\n return Array.from(mentionedHrefs);\n }\n\n /**\n * @internal\n */\n public getMentionExtensionConfig(): MentionExtensionConfiguration[] {\n return this.configuration instanceof EditorConfiguration\n ? this.configuration.mentionExtensionConfig\n : [];\n }\n\n /**\n * @internal\n */\n public onMentionSelect(event: CustomEvent<MentionDetail>): void {\n if (this.activeMentionCommand) {\n this.activeMentionCommand({\n href: event.detail.href,\n label: event.detail.displayName\n });\n }\n }\n\n /**\n * @internal\n */\n public focusoutHandler(): void {\n if (!this.mentionListbox?.open) {\n return;\n }\n this.mentionListbox?.close();\n }\n\n public override createConfig(): void {\n this.validate();\n if (this.richTextValidator.isValid()) {\n if (\n this.richTextUpdateTracker.updateButtonLabel\n || this.richTextUpdateTracker.updateMappingConfigs\n || this.richTextUpdateTracker.updatePattern\n ) {\n this.configuration = new EditorConfiguration(\n this.mentionElements\n );\n }\n } else {\n this.configuration = undefined;\n }\n }\n\n private isMentionExtensionConfigUnchanged(\n prev: EditorConfiguration | undefined,\n next: EditorConfiguration | undefined\n ): boolean {\n const prevConfigCharacters = prev?.mentionExtensionConfig\n .map(config => config.character)\n .sort((a, b) => a.localeCompare(b))\n .toString();\n const nextConfigCharacters = next?.mentionExtensionConfig\n .map(config => config.character)\n .sort((a, b) => a.localeCompare(b))\n .toString();\n return prevConfigCharacters === nextConfigCharacters;\n }\n\n private createEditor(): HTMLDivElement {\n const editor = document.createElement('div');\n editor.className = 'editor';\n editor.setAttribute('aria-multiline', 'true');\n editor.setAttribute('role', 'textbox');\n editor.setAttribute('aria-disabled', 'false');\n return editor;\n }\n\n private initializeEditor(): void {\n this.unbindEditorTransactionEvent();\n this.unbindEditorUpdateEvent();\n this.unbindNativeInputEvent();\n this.tiptapEditor?.destroy();\n this.tiptapEditor = createTiptapEditor(\n character => {\n this.activeMentionCharacter = character;\n },\n command => {\n this.activeMentionCommand = command;\n },\n this.editorDiv,\n this.configuration instanceof EditorConfiguration\n ? this.configuration.mentionExtensionConfig\n : [],\n this.mentionListbox,\n this.placeholder\n );\n this.disableEditor();\n this.disableMentionViewElement();\n this.bindEditorTransactionEvent();\n this.bindEditorUpdateEvent();\n this.stopNativeInputEventPropagation();\n }\n\n /**\n * This function takes the Fragment from parseMarkdownToDOM function and return the serialized string using XMLSerializer\n */\n private getHtmlContent(markdown: string): string {\n const parseResult = RichTextMarkdownParser.parseMarkdownToDOM(\n markdown,\n this.configuration?.parserMentionConfig\n );\n return this.xmlSerializer.serializeToString(parseResult.fragment);\n }\n\n /**\n * Binding the \"transaction\" event to the editor allows continuous monitoring the events and updating the button state in response to\n * various actions such as mouse events, keyboard events, changes in the editor content etc,.\n * https://tiptap.dev/api/events#transaction\n */\n private bindEditorTransactionEvent(): void {\n this.tiptapEditor.on('transaction', () => {\n this.updateEditorButtonsState();\n });\n }\n\n private unbindEditorTransactionEvent(): void {\n this.tiptapEditor.off('transaction');\n }\n\n private updateEditorButtonsState(): void {\n if (!this.$fastController.isConnected) {\n return;\n }\n\n const { extensionManager, state } = this.tiptapEditor;\n const { extensions } = extensionManager;\n const { selection } = state;\n const parentList = findParentNode((node: { type: { name: string } }) => isList(node.type.name, extensions))(selection);\n\n this.boldButton.checked = this.tiptapEditor.isActive('bold');\n this.italicsButton.checked = this.tiptapEditor.isActive('italic');\n this.bulletListButton.checked = parentList?.node.type.name === TipTapNodeName.bulletList;\n this.numberedListButton.checked = parentList?.node.type.name === TipTapNodeName.numberedList;\n }\n\n private keyActivatesButton(event: KeyboardEvent): boolean {\n switch (event.key) {\n case keySpace:\n case keyEnter:\n return true;\n default:\n return false;\n }\n }\n\n private unbindEditorUpdateEvent(): void {\n this.tiptapEditor.off('update');\n }\n\n /**\n * input event is fired when there is a change in the content of the editor.\n *\n * https://tiptap.dev/api/events#update\n */\n private bindEditorUpdateEvent(): void {\n this.tiptapEditor.on('update', () => {\n this.$emit('input');\n this.queueUpdateScrollbarWidth();\n });\n }\n\n private disableEditor(): void {\n this.tiptapEditor.setEditable(!this.disabled);\n this.setEditorTabIndex();\n this.editorDiv.setAttribute(\n 'aria-disabled',\n this.disabled ? 'true' : 'false'\n );\n this.mentionListbox?.close();\n }\n\n private disableMentionViewElement(): void {\n this.tiptapEditor.state.doc.descendants((node, pos) => {\n if (node.type.name.startsWith(mentionPluginPrefix)) {\n const updatedAttrs = {\n ...node.attrs,\n disabled: this.disabled ? '' : null\n };\n const updatedNode = this.tiptapEditor.schema.node(\n node.type.name,\n updatedAttrs,\n node.content\n );\n const updatedTransaction = this.tiptapEditor.state.tr.replaceWith(\n pos,\n pos + node.nodeSize,\n updatedNode\n );\n this.tiptapEditor.view.dispatch(updatedTransaction);\n }\n return true;\n });\n }\n\n /**\n * Stopping the native input event propagation emitted by the contenteditable element in the Tiptap\n * since there is an issue (linked below) in ProseMirror where selecting the text and removing it\n * does not trigger the native HTMLElement input event. So using the \"update\" event emitted by the\n * Tiptap to capture it as an \"input\" customEvent in the rich text editor.\n *\n * Prose Mirror issue: https://discuss.prosemirror.net/t/how-to-handle-select-backspace-delete-cut-type-kind-of-events-handletextinput-or-handledomevents-input-doesnt-help/4844\n */\n private stopNativeInputEventPropagation(): void {\n this.tiptapEditor.view.dom.addEventListener('input', event => {\n event.stopPropagation();\n });\n }\n\n private unbindNativeInputEvent(): void {\n this.tiptapEditor.view.dom.removeEventListener('input', () => {});\n }\n\n private queueUpdateScrollbarWidth(): void {\n if (!this.$fastController.isConnected) {\n return;\n }\n if (!this.updateScrollbarWidthQueued) {\n this.updateScrollbarWidthQueued = true;\n DOM.queueUpdate(() => this.updateScrollbarWidth());\n }\n }\n\n private updateScrollbarWidth(): void {\n this.updateScrollbarWidthQueued = false;\n this.scrollbarWidth = this.tiptapEditor.view.dom.offsetWidth\n - this.tiptapEditor.view.dom.clientWidth;\n }\n\n private onResize(): void {\n this.scrollbarWidth = this.tiptapEditor.view.dom.offsetWidth\n - this.tiptapEditor.view.dom.clientWidth;\n }\n\n private getTipTapExtension(\n extensionName: string\n ): AnyExtension | undefined {\n return this.tiptapEditor.extensionManager.extensions.find(\n (extension: { name: string }) => extension.name === extensionName\n );\n }\n\n private setEditorTabIndex(): void {\n this.tiptapEditor.setOptions({\n editorProps: {\n attributes: {\n tabindex: this.disabled ? '-1' : '0'\n }\n }\n });\n }\n\n private setActiveMappingConfigs(): void {\n this.activeMappingConfigs = this.activeMentionCharacter\n ? this.getMentionExtensionConfigFromCharacter(\n this.activeMentionCharacter\n )?.mappingConfigs\n : undefined;\n }\n\n private shouldInsertSpace(): boolean {\n const { $anchor, $head } = this.tiptapEditor.view.state.selection;\n\n const isAtStartOfLine = $head.parentOffset === 0 || $anchor.parentOffset === 0;\n const nodeBeforeSelection = $anchor.pos < $head.pos ? $anchor.nodeBefore : $head.nodeBefore;\n const isHardBreakNode = nodeBeforeSelection?.type.name === HardBreak.name;\n const hasWhitespaceBeforeCurrentPosition = nodeBeforeSelection?.textContent.endsWith(' ');\n\n return (\n !isAtStartOfLine\n && !isHardBreakNode\n && !hasWhitespaceBeforeCurrentPosition\n );\n }\n\n private getMentionExtensionConfigFromCharacter(\n character: string\n ): MentionExtensionConfiguration | undefined {\n return this.getMentionExtensionConfig().find(\n config => config.character === character\n );\n }\n\n private resetEditorButtonsState(\n buttonsState: FormatButtonsState | undefined\n ): void {\n if (buttonsState?.bold && !this.tiptapEditor.isActive('bold')) {\n this.tiptapEditor.chain().focus().toggleBold().run();\n }\n if (buttonsState?.italics && !this.tiptapEditor.isActive('italic')) {\n this.tiptapEditor.chain().focus().toggleItalic().run();\n }\n }\n\n private getButtonsState(\n tiptapEditor: Editor\n ): FormatButtonsState | undefined {\n if (!this.$fastController.isConnected) {\n return undefined;\n }\n return {\n bold: tiptapEditor.isActive('bold'),\n italics: tiptapEditor.isActive('italic')\n };\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface RichTextEditor extends ARIAGlobalStatesAndProperties {}\napplyMixins(RichTextEditor, ARIAGlobalStatesAndProperties);\n\nconst nimbleRichTextEditor = RichTextEditor.compose({\n baseName: 'rich-text-editor',\n template,\n styles,\n shadowOptions: {\n delegatesFocus: true\n }\n});\n\nDesignSystem.getOrCreate()\n .withPrefix('nimble')\n .register(nimbleRichTextEditor());\nexport const richTextEditorTag = 'nimble-rich-text-editor';\n"]}
|
|
@@ -14,7 +14,7 @@ import Placeholder from '@tiptap/extension-placeholder';
|
|
|
14
14
|
import Text from '@tiptap/extension-text';
|
|
15
15
|
import { Slice, Fragment, Node as FragmentNode } from 'prosemirror-model';
|
|
16
16
|
import { PluginKey } from 'prosemirror-state';
|
|
17
|
-
import { keyEscape } from '@
|
|
17
|
+
import { keyEscape } from '@ni/fast-web-utilities';
|
|
18
18
|
import { mentionPluginPrefix } from '../types';
|
|
19
19
|
import { anchorTag } from '../../../anchor';
|
|
20
20
|
const validAbsoluteLinkRegex = /^https?:\/\//i;
|