Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing specific types in DateTimeFormatOptions #35865

Closed
ksoldau opened this issue Dec 26, 2019 · 19 comments
Closed

Missing specific types in DateTimeFormatOptions #35865

ksoldau opened this issue Dec 26, 2019 · 19 comments
Labels
In Discussion Not yet reached consensus Suggestion An idea for TypeScript

Comments

@ksoldau
Copy link

ksoldau commented Dec 26, 2019

TypeScript Version: 3.7.3

Search Terms: Intl.DateTimeFormat, DateTimeFormatOptions, date format types

Code

// A *self-contained* demonstration of the problem follows...
// Test this by running `tsc` on the command-line, rather than through another build tool such as Gulp,
(See below)

DateTimeFormatOptions interface missing specific types.

TypeScript/src/lib/es5.d.ts

Lines 4253 to 4267 in 408b176

interface DateTimeFormatOptions {
localeMatcher?: string;
weekday?: string;
era?: string;
year?: string;
month?: string;
day?: string;
hour?: string;
minute?: string;
second?: string;
timeZoneName?: string;
formatMatcher?: string;
hour12?: boolean;
timeZone?: string;
}

Expected behavior:
I would expect the types to match what's listed here: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat

  interface DateTimeFormatOptions {
        localeMatcher?: 'lookup' | 'best fit';
        weekday?: 'long' | 'short' | 'narrow';
        era?:  'long' | 'short' | 'narrow';
        year?: 'numeric' | '2-digit';
        month?: 'numeric' | '2-digit' | 'long' | 'short' | 'narrow';
        day?: 'numeric' | '2-digit';
        hour?: 'numeric' | '2-digit';
        minute?: 'numeric' | '2-digit';
        second?: 'numeric' | '2-digit';
        timeZoneName?: 'long' | 'short';
        formatMatcher?: 'basic' | 'best fit';
        hour12?: boolean;
        timeZone?: string; // this is more complicated than the others, not sure what I expect here
    }

Actual behavior:

 interface DateTimeFormatOptions {
        localeMatcher?: string;
        weekday?: string;
        era?: string;
        year?: string;
        month?: string;
        day?: string;
        hour?: string;
        minute?: string;
        second?: string;
        timeZoneName?: string;
        formatMatcher?: string;
        hour12?: boolean;
        timeZone?: string;
    }

Playground Link:

Related Issues:
Couldn't find any

@RyanCavanaugh RyanCavanaugh added In Discussion Not yet reached consensus Suggestion An idea for TypeScript labels Jan 13, 2020
@RyanCavanaugh
Copy link
Member

Would be a breaking change; we'll have to discuss.

@andreipfeiffer
Copy link

I would expect these to break only if you misspelled an option, which won't work anyway.
I'm just curious what other Breaking Changes are you thinking about @RyanCavanaugh .

johan added a commit to johan/TypeScript that referenced this issue May 13, 2020
johan added a commit to johan/TypeScript that referenced this issue May 13, 2020
johan added a commit to johan/TypeScript that referenced this issue May 13, 2020
@johan
Copy link

johan commented May 14, 2020

Would be a breaking change; we'll have to discuss.

I'd love to see this discussed, or move forward. To me, moving runtime exceptions out of js into hard compile-time errors in typescript is one of the strongest points of typescript to begin with.

@sandersn
Copy link
Member

Here's a breaking change:

function makeOptions(matcher: string): DateTimeFormatOptions {
  return {
    year: 'numeric',
    formatMatcher: matcher
  }
}

The author of makeOptions will have to propagate the stricter type of formatMatcher out, possibly breaking its consumers.

@johan
Copy link

johan commented May 21, 2020

So… …is there some process where you tag all PR:s with fixes for under-specified types like this by something like "improvement for next major version bump", so you can land a busload of such fixes in batch whenever you decide that enough of those have piled up since last time, or that you are just about to release a major version bump anyhow, because of some non-type-related fix to typescript itself?

If not, I think it would be a good process to introduce, so we don't get stuck forever with a lot of DOM / TC39 types that are a notch or two better than the any type.

johan added a commit to johan/TypeScript that referenced this issue May 21, 2020
@ShuiRuTian
Copy link
Contributor

ShuiRuTian commented May 22, 2020

Maybe you could write like "x"|"y"|string
And there would be no break changes.
What we need to do is to wait #33471.

@johan
Copy link

johan commented May 22, 2020

Maybe you could write like "x"|"y"|string
And there would be no break changes.

Much or most of the value a strict type here brings is in flagging illegal string values as illegal. The documentation aspect of calling out a few explicitly legal values is nice, but we'd miss the catching bugs at compile time aspect for everything else that the browser definitely explodes on.

@mhuggins
Copy link

Running into this issue for dateStyle and timeStyle options as well.

@lgrahl
Copy link

lgrahl commented Oct 14, 2020

Running into this issue for dateStyle and timeStyle options as well.

I wonder if these are even related. Should we create a separate issue for that? Because those two properties are just missing entirely.

@BradStell
Copy link

Until this gets fixed you can extend the TypeScript definition for DateTimeFormatOptions by writing the following code in your project's root index.d.ts file

declare namespace Intl {
  interface DateTimeFormatOptions {
    dateStyle?: 'full' | 'long' | 'medium' | 'short';
    timeStyle?: 'full' | 'long' | 'medium' | 'short';
  }
}

@allan-chen
Copy link

Would like to add that the full exhaustive list of properties is here:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat

Includes more keys such as calendar, numberingSystem, dayPeriod etc that are also missing.

@plauclair
Copy link

We don't like to replace basic TS declares unless necessary, so we extend the base. For that reason I just created a complete type from the MDN docs.

/**
 * Better DateTimeFormatOptions types
 * 
 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat for representation details
 */
export interface DateTimeFormatOptions extends Intl.DateTimeFormatOptions {
  localeMatcher?: 'best fit' | 'lookup';
  weekday?: 'long' | 'short' | 'narrow';
  era?:  'long' | 'short' | 'narrow';
  year?: 'numeric' | '2-digit';
  month?: 'numeric' | '2-digit' | 'long' | 'short' | 'narrow';
  day?: 'numeric' | '2-digit';
  hour?: 'numeric' | '2-digit';
  minute?: 'numeric' | '2-digit';
  second?: 'numeric' | '2-digit';
  timeZoneName?: 'long' | 'short';
  formatMatcher?: 'best fit' | 'basic';
  hour12?: boolean;
  /**
   * Timezone string must be one of IANA. UTC is a universally required recognizable value
   */
  timeZone?: 'UTC' | string;
  dateStyle?: 'full' | 'long' | 'medium' | 'short',
  timeStyle?: 'full' | 'long' | 'medium' | 'short',
  calendar?: 'buddhist' | 'chinese' | ' coptic' | 'ethiopia' | 'ethiopic' | 'gregory' | ' hebrew' | 'indian' | 'islamic' | 'iso8601' | ' japanese' | 'persian' | 'roc',
  dayPeriod?: 'narrow' | 'short' | 'long',
  numberingSystem?: 'arab' | 'arabext' | 'bali' | 'beng' | 'deva' | 'fullwide' | ' gujr' | 'guru' | 'hanidec' | 'khmr' | ' knda' | 'laoo' | 'latn' | 'limb' | 'mlym' | ' mong' | 'mymr' | 'orya' | 'tamldec' | ' telu' | 'thai' | 'tibt',
  hourCycle?: 'h11' | 'h12' | 'h23' | 'h24',
  /**
   * Warning! Partial support 
   */
  fractionalSecondDigits?: 0 | 1 | 2 | 3
}

@johan
Copy link

johan commented Mar 8, 2021

Maybe close this issue, now that it's been addressed in a released typescript? (Albeit without the useful docs of #38522 or the above suggestion.)

@buzinas
Copy link

buzinas commented Mar 31, 2021

Maybe close this issue, now that it's been addressed in a released typescript?

Which one? Still facing the problem with v4.2.3.

@imakarenko
Copy link

@buzinas, hi also had an issue when updated typescript to 4.2.3, but the problem was with other dependencies which also use/define DateTimeFormatOptions, so I updated react-intl and @formatjs/intl-datetimeformat to the latest versions and the error had gone. You should check other components in your project.

@buzinas
Copy link

buzinas commented Apr 12, 2021

I don't have any other dependencies in my project. I'm only using VS Code and setting it to use typescript v4.2.3.

@GintV
Copy link

GintV commented May 4, 2021

typescript playground doesn't recognize opts like dateStyle or timeStyle, so I don't think this was address in ts at all

https://www.typescriptlang.org/play?ts=4.2.3#code/FAOwpg7gBAIghgFzACgJQDoEHsAyWDGcANmAMoIBOAliAObICuIAJmAGY1jMA0UA3lGaIyCAJ4kAXFABEbBkSLSoAX1TBQkWMLSZcBYiOp1GLdpx78oCKgFsR4sFNnzFK1EA

@arusahni
Copy link

arusahni commented May 4, 2021

It appears to be available if you're targeting ES2020. The TS Playground demo passes type checking if I change the target to ES2020.

@BPScott
Copy link

BPScott commented Aug 12, 2021

This issue can be closed. As of TS 4.2 these types on Intl.DateTimeFormatOptions use unions of strings where possible per;

https://github.com/microsoft/TypeScript/blob/v4.3.5/src/lib/es5.d.ts#L4332-L4346 and https://github.com/microsoft/TypeScript/blob/v4.3.5/src/lib/es2020.intl.d.ts#L280-L288

Note that you will need to target es2020 or otherwise add it to your lib for the properties defined in es2020.intl.d.ts to be present

dvoegelin added a commit to bullhorn/novo-elements that referenced this issue Mar 24, 2022
dvoegelin added a commit to bullhorn/novo-elements that referenced this issue Jun 8, 2022
)

* refactor(): some remaining prep work for the upcoming typescript 4 upgrade

* adding value getters to some table cells

* Revert "refactor(): "REVERT: some refactor work in preparation for typescript 4.0.8 upgrade (#1266)" (#1271)"

This reverts commit 5be0308.

* upping ts version to 4.0.8

* Revert "refactor(): "REVERT: some refactor work in preparation for typescript 4.0.8 upgrade (#1266)" (#1271)"

This reverts commit 5be0308.

* adding dep

* update to angular 11

* updated typedoc to .22

* update to angular 12

* fixing typing issue caused by microsoft/TypeScript#35865

* addressing deprecation warnings

* updating angular/cdk to 12.2.13

* angular 13 update

* updating @angular/cdk to 13.3.1

* commented a lot of things out to get build to pass, will have to find fixes

* upgrading to jest 27

* modifying schematics to get build to pass, may have broken some things

* refactoring overlay components to use FlexibleConnectedPositionStrategy

* updating compilation mode, disabling some tests, and re-enabling a lot more

* removing console log

* fixing dragula import

* initial fix for cke mock

* adding autoposition to extra large tooltip example

* adding bounce

* !: Upgrading to Angular 13

* chore(release): 7.0.0-next.0

* fix(Stepper): Remove circular reference caused by unused code

* fix(DataTable): Removed circular dependencies

* fix(Breadcrumb): No more circular deps
fix(EntityPickerResults): No more circular deps

* chore(release): 7.0.1-next.0

* fixing broken unit test

* chore(release): 7.1.0-next.0

* fix for function not found error

* chore(release): 7.1.1-next.0

* fixing bug with simple table component

* formatting

* chore(release): 7.1.2-next.0

* increasing toolstip offset to eliminate cursor juddering

* enabling auto tooltip positioning by default

* fix(NovoFileInputElement): Allow for same file delete/upload, allow file list clear from patchValue(). (#1300)

* 1183 & 1184: Correct FileInput upload issues.

* Code review fixes

* Added clear file list button for testing

* Updated novo-design-tokens version

* Updgraded htmlhint to remove async security vulnerability

Co-authored-by: Kurt Mcgallion <[email protected]>

* chore(release): 7.2.0-next.0

* fix(imports): fix a few utils imports to correct issues with debugging locally (#1303)

* chore(release): 7.2.1-next.0

* fix(Schematic): Missing schematics and documentation

* chore(release): 7.2.2-next.0

* fix(import): fix a utils import to correct issues with debugging locally (#1305)

* BH-75889 - Use correct comparison for dates in time picker input (#1304)

Co-authored-by: kristian.robe <[email protected]>

* chore(release): 7.2.3-next.0

* chore(release): 7.2.4-next.0

* BH-75391 : fix grouped multi picker list item width. (#1312)

* style(picker): Added data-automation-id to picker results (#1317)

* chore(release): 7.2.5-next.0

* reverting version back to master version

Co-authored-by: Haris Iqbal <[email protected]>
Co-authored-by: Bump And Release <[email protected]>
Co-authored-by: Brian Kimball <[email protected]>
Co-authored-by: Kurt Mcgallion <[email protected]>
Co-authored-by: Kurt Mcgallion <[email protected]>
Co-authored-by: Michael Dill <[email protected]>
Co-authored-by: Kristian Robe <[email protected]>
Co-authored-by: kristian.robe <[email protected]>
Co-authored-by: Jordan Brownfield <[email protected]>
Co-authored-by: kiri-um-bh <[email protected]>
dvoegelin added a commit to bullhorn/novo-elements that referenced this issue Aug 1, 2022
…ting queries (#1328)

* Select is intercepting clicks to the ng-content area

* adding circle icon shape

* not closing overlay if clicking in nested overlay

* add shape attr to color option as well

* Set GlobalSearch on setInitialSortFilter

* clear global search

* feat(lib): SearchBox now has keepOpen flag

* updating search box styling and functionality

* updating search box styling

* adding event emitter for applying search

* add options for advanced filtering to getTableResults

* advanced filtering on Interfaces an setInitialSortFilter

* refactor(): some remaining prep work for the upcoming typescript 4 upgrade

* adding value getters to some table cells

* Revert "refactor(): "REVERT: some refactor work in preparation for typescript 4.0.8 upgrade (#1266)" (#1271)"

This reverts commit 5be0308.

* upping ts version to 4.0.8

* Revert "refactor(): "REVERT: some refactor work in preparation for typescript 4.0.8 upgrade (#1266)" (#1271)"

This reverts commit 5be0308.

* adding dep

* update to angular 11

* updated typedoc to .22

* update to angular 12

* fixing typing issue caused by microsoft/TypeScript#35865

* addressing deprecation warnings

* updating angular/cdk to 12.2.13

* angular 13 update

* updating @angular/cdk to 13.3.1

* commented a lot of things out to get build to pass, will have to find fixes

* upgrading to jest 27

* modifying schematics to get build to pass, may have broken some things

* refactoring overlay components to use FlexibleConnectedPositionStrategy

* updating compilation mode, disabling some tests, and re-enabling a lot more

* removing console log

* fixing dragula import

* initial fix for cke mock

* adding autoposition to extra large tooltip example

* adding bounce

* !: Upgrading to Angular 13

* chore(release): 7.0.0-next.0

* fix(Stepper): Remove circular reference caused by unused code

* fix(DataTable): Removed circular dependencies

* fix(Breadcrumb): No more circular deps
fix(EntityPickerResults): No more circular deps

* chore(release): 7.0.1-next.0

* fixing broken unit test

* chore(release): 7.1.0-next.0

* fix for function not found error

* chore(release): 7.1.1-next.0

* fixing bug with simple table component

* formatting

* chore(release): 7.1.2-next.0

* increasing toolstip offset to eliminate cursor juddering

* enabling auto tooltip positioning by default

* fix(NovoFileInputElement): Allow for same file delete/upload, allow file list clear from patchValue(). (#1300)

* 1183 & 1184: Correct FileInput upload issues.

* Code review fixes

* Added clear file list button for testing

* Updated novo-design-tokens version

* Updgraded htmlhint to remove async security vulnerability

Co-authored-by: Kurt Mcgallion <[email protected]>

* chore(release): 7.2.0-next.0

* feat(QueryBuilder): Added a search criteria builder (#1302)

* style(Chips): remove max-width from novo-picker if a row chips picker (#1299)

* chore(release): 6.2.1

* feat(QueryBuilder): Added WIP Query Builder

* fix(QueryBuilder): Removed to much unused code

* fix(QB): minor tweeks to presentation and remove check on DataSpecialization

* linting

* reverting changes to select sizing because it made it too tall

Co-authored-by: Michael Dill <[email protected]>
Co-authored-by: Bump And Release <[email protected]>
Co-authored-by: Dan Voegelin <[email protected]>

* fix(imports): fix a few utils imports to correct issues with debugging locally (#1303)

* chore(release): 7.2.1-next.0

* fix(Schematic): Missing schematics and documentation

* chore(release): 7.2.2-next.0

* fix(import): fix a utils import to correct issues with debugging locally (#1305)

* making 'or' configurable, adding default criteria row

* adding configurable label for translating

* field padding and red trash can

* fixing input box padding

* remove entity picker in field select

* adjusting calendar icon spacing

* removing unused files

* Added fixes and styling updates for novo-accordion

* adding mockup of boolean field def

* BH-75889 - Use correct comparison for dates in time picker input (#1304)

Co-authored-by: kristian.robe <[email protected]>

* chore(release): 7.2.3-next.0

* updates to boolean def and adding dummy address def

* wip: Got custom field defs working

* refactor(QueryBuilder): Renamed all the tokens,directives and subclasses

* some minor fixes for string def

* adding Double field type

* Fixed definition field label and date-between input

* adding/removing default picker defs

* temporary workaround for scalar field needing select def not picker

* adding another def

* fixing variable name

* updating field def logic

* updating some console logs

* updating console log

* fixing custom def in demo

* chore(release): 7.2.4-next.0

* simplifying field def logic

* adding label fallback to entity picker result name

* adding display labels for BillingProfile and InvoiceTerm results

* add optional backdrop input option to search component

* Styling updates for selects and picker in query builder

* Fix build issues

* removing max-width from novo-search's input

* Delete button fix, input value width fixes, individual chip deletion fix

* BH-75391 : fix grouped multi picker list item width. (#1312)

* style(picker): Added data-automation-id to picker results (#1317)

* chore(release): 7.2.5-next.0

* Fixed text field persistence issue.

* fixing some build issues that popped up from rebase

* reverting changes to package-lock

* updates to support where clauses

* Removed comments, fixed date inoput example, clear date field on operator change.

* Added picker overlay to trigger on input field

* Fixed booleaninput import

* Small style fix

* adding ellipsis attribute and fixing text transitions

* Fixed border style

* update bullhorn icons version

* Close date picker on select

* fixing default search box input cont size

* removed some unnecessary styling

* adding ability to pre-populate and clear query builder form

* Fix field name identifier

* rebase

* feat(CKEditor): Do not encode special characters by default (#1320)

* chore(workflow): updating node version for release workflows

* chore(workflow): updating NPM_TOKEN for release workflow

* poackage-lock updates and fixing unit tests

* fix for form prepopulation bug in the demo

* temporarily reverting fieldName change and adding labels to prepopulated fields

* fixing a few things

* feat(QueryBuilder): Updated QueryBuilder styles, added ConditionGroups and service to support pre-population
fix(Field): PickerToggle should support triggerOnFocus now.
feat(Common): *New* Visible directive to control visiblity

* updating where property from string to object

* style(QueryBuilder): borders are now round

* style(QueryBuilder): Labels now ash

* linting

* reverting fieldName change

* Update field selection and clear value and operator on field change

* re-enabling form prepopulation

* updating date format for range picker to work with prepopulation

* refactoring query builder to use NovoLabelService everywhere

* ux and styling tweaks

* Added automation id for add condition and bolded clear all

* updating icon size attributes to better scale with base icon 1.2em font-size

* hiding tooltip when parent overlay closes

* removing obsolete advancedFilter properties and replacing some with where

* fixing unit test

* Fixed date overlay issue

* making tooltip directive show/hide functions public

* adding data-control-type to novo-field

* adding prop to allow event propagation

* trying out adding control id

* adding highlight pipe and refactoring templates to use it

* fixing bug with nested overlays closing on click events

* feat(Autocomplete): Autocomplete now works with ChipList (#1326)

* deprecating highlight fns

* Updated Search Data

* fix(Chips): update the ux for disabled chips (#1331)

-darken the opacity to improve readability
-update text color of disabled chips to look non-selectable
-remove the X icon to further confer that this chip is read-only

Co-authored-by: Michael Dill <[email protected]>

* feat(NonIdealState): Non Ideal Loading (#1334)

* Expanding non-ideal-state for use case with novo-loading

* Expanding non-ideal-state for use case with novo-loading

* Minor structure cleanup

* Changed message on example

* chore(ci): updating tokens

* chore(ci): Other Tokens Updated

* feat(Description): add ability for control description to handle html (#1333)

* feat(Description): add ability for control description to handle html

* feat(Description) cleaning up example for description containing HTML

* feat(Description) adding new example for new FieldInteractionAPI functionality

* regeneratinv package-lock as v1 and fixing minor type

Co-authored-by: Fayranne Lipton <[email protected]>
Co-authored-by: John Sullivan <[email protected]>
Co-authored-by: Dan Voegelin <[email protected]>

* feat(Docs): new docs, and bump release

* fixing chiplist issue and clearing queryform operator/value on field change

* feat(Bump): Needs a bump for semantic release

* code review changes

Co-authored-by: Michael Dill <[email protected]>
Co-authored-by: Dan Voegelin <[email protected]>
Co-authored-by: Haris Iqbal <[email protected]>
Co-authored-by: Bump And Release <[email protected]>
Co-authored-by: Kurt Mcgallion <[email protected]>
Co-authored-by: Kurt Mcgallion <[email protected]>
Co-authored-by: Kristian Robe <[email protected]>
Co-authored-by: kristian.robe <[email protected]>
Co-authored-by: Jordan Brownfield <[email protected]>
Co-authored-by: kiri-um-bh <[email protected]>
Co-authored-by: Kurt Mcgallion <[email protected]>
Co-authored-by: antonyw89 <[email protected]>
Co-authored-by: Michael Dill <[email protected]>
Co-authored-by: Fayranne Lipton <[email protected]>
Co-authored-by: Fayranne Lipton <[email protected]>
Co-authored-by: John Sullivan <[email protected]>
MichaelDill added a commit to bullhorn/novo-elements that referenced this issue Aug 4, 2022
* feat(Autocomplete): Autocomplete now works with ChipList (#1326)

* fix(Chips): update the ux for disabled chips (#1331)

-darken the opacity to improve readability
-update text color of disabled chips to look non-selectable
-remove the X icon to further confer that this chip is read-only

Co-authored-by: Michael Dill <[email protected]>

* feat(NonIdealState): Non Ideal Loading (#1334)

* Expanding non-ideal-state for use case with novo-loading

* Expanding non-ideal-state for use case with novo-loading

* Minor structure cleanup

* Changed message on example

* chore(ci): updating tokens

* chore(ci): Other Tokens Updated

* feat(Description): add ability for control description to handle html (#1333)

* feat(Description): add ability for control description to handle html

* feat(Description) cleaning up example for description containing HTML

* feat(Description) adding new example for new FieldInteractionAPI functionality

* regeneratinv package-lock as v1 and fixing minor type

Co-authored-by: Fayranne Lipton <[email protected]>
Co-authored-by: John Sullivan <[email protected]>
Co-authored-by: Dan Voegelin <[email protected]>

* feat(Docs): new docs, and bump release

* feat(Bump): Needs a bump for semantic release

* feat(QueryBuilder): New QueryBuilder component for dynamically generating queries (#1328)

* Select is intercepting clicks to the ng-content area

* adding circle icon shape

* not closing overlay if clicking in nested overlay

* add shape attr to color option as well

* Set GlobalSearch on setInitialSortFilter

* clear global search

* feat(lib): SearchBox now has keepOpen flag

* updating search box styling and functionality

* updating search box styling

* adding event emitter for applying search

* add options for advanced filtering to getTableResults

* advanced filtering on Interfaces an setInitialSortFilter

* refactor(): some remaining prep work for the upcoming typescript 4 upgrade

* adding value getters to some table cells

* Revert "refactor(): "REVERT: some refactor work in preparation for typescript 4.0.8 upgrade (#1266)" (#1271)"

This reverts commit 5be0308.

* upping ts version to 4.0.8

* Revert "refactor(): "REVERT: some refactor work in preparation for typescript 4.0.8 upgrade (#1266)" (#1271)"

This reverts commit 5be0308.

* adding dep

* update to angular 11

* updated typedoc to .22

* update to angular 12

* fixing typing issue caused by microsoft/TypeScript#35865

* addressing deprecation warnings

* updating angular/cdk to 12.2.13

* angular 13 update

* updating @angular/cdk to 13.3.1

* commented a lot of things out to get build to pass, will have to find fixes

* upgrading to jest 27

* modifying schematics to get build to pass, may have broken some things

* refactoring overlay components to use FlexibleConnectedPositionStrategy

* updating compilation mode, disabling some tests, and re-enabling a lot more

* removing console log

* fixing dragula import

* initial fix for cke mock

* adding autoposition to extra large tooltip example

* adding bounce

* !: Upgrading to Angular 13

* chore(release): 7.0.0-next.0

* fix(Stepper): Remove circular reference caused by unused code

* fix(DataTable): Removed circular dependencies

* fix(Breadcrumb): No more circular deps
fix(EntityPickerResults): No more circular deps

* chore(release): 7.0.1-next.0

* fixing broken unit test

* chore(release): 7.1.0-next.0

* fix for function not found error

* chore(release): 7.1.1-next.0

* fixing bug with simple table component

* formatting

* chore(release): 7.1.2-next.0

* increasing toolstip offset to eliminate cursor juddering

* enabling auto tooltip positioning by default

* fix(NovoFileInputElement): Allow for same file delete/upload, allow file list clear from patchValue(). (#1300)

* 1183 & 1184: Correct FileInput upload issues.

* Code review fixes

* Added clear file list button for testing

* Updated novo-design-tokens version

* Updgraded htmlhint to remove async security vulnerability

Co-authored-by: Kurt Mcgallion <[email protected]>

* chore(release): 7.2.0-next.0

* feat(QueryBuilder): Added a search criteria builder (#1302)

* style(Chips): remove max-width from novo-picker if a row chips picker (#1299)

* chore(release): 6.2.1

* feat(QueryBuilder): Added WIP Query Builder

* fix(QueryBuilder): Removed to much unused code

* fix(QB): minor tweeks to presentation and remove check on DataSpecialization

* linting

* reverting changes to select sizing because it made it too tall

Co-authored-by: Michael Dill <[email protected]>
Co-authored-by: Bump And Release <[email protected]>
Co-authored-by: Dan Voegelin <[email protected]>

* fix(imports): fix a few utils imports to correct issues with debugging locally (#1303)

* chore(release): 7.2.1-next.0

* fix(Schematic): Missing schematics and documentation

* chore(release): 7.2.2-next.0

* fix(import): fix a utils import to correct issues with debugging locally (#1305)

* making 'or' configurable, adding default criteria row

* adding configurable label for translating

* field padding and red trash can

* fixing input box padding

* remove entity picker in field select

* adjusting calendar icon spacing

* removing unused files

* Added fixes and styling updates for novo-accordion

* adding mockup of boolean field def

* BH-75889 - Use correct comparison for dates in time picker input (#1304)

Co-authored-by: kristian.robe <[email protected]>

* chore(release): 7.2.3-next.0

* updates to boolean def and adding dummy address def

* wip: Got custom field defs working

* refactor(QueryBuilder): Renamed all the tokens,directives and subclasses

* some minor fixes for string def

* adding Double field type

* Fixed definition field label and date-between input

* adding/removing default picker defs

* temporary workaround for scalar field needing select def not picker

* adding another def

* fixing variable name

* updating field def logic

* updating some console logs

* updating console log

* fixing custom def in demo

* chore(release): 7.2.4-next.0

* simplifying field def logic

* adding label fallback to entity picker result name

* adding display labels for BillingProfile and InvoiceTerm results

* add optional backdrop input option to search component

* Styling updates for selects and picker in query builder

* Fix build issues

* removing max-width from novo-search's input

* Delete button fix, input value width fixes, individual chip deletion fix

* BH-75391 : fix grouped multi picker list item width. (#1312)

* style(picker): Added data-automation-id to picker results (#1317)

* chore(release): 7.2.5-next.0

* Fixed text field persistence issue.

* fixing some build issues that popped up from rebase

* reverting changes to package-lock

* updates to support where clauses

* Removed comments, fixed date inoput example, clear date field on operator change.

* Added picker overlay to trigger on input field

* Fixed booleaninput import

* Small style fix

* adding ellipsis attribute and fixing text transitions

* Fixed border style

* update bullhorn icons version

* Close date picker on select

* fixing default search box input cont size

* removed some unnecessary styling

* adding ability to pre-populate and clear query builder form

* Fix field name identifier

* rebase

* feat(CKEditor): Do not encode special characters by default (#1320)

* chore(workflow): updating node version for release workflows

* chore(workflow): updating NPM_TOKEN for release workflow

* poackage-lock updates and fixing unit tests

* fix for form prepopulation bug in the demo

* temporarily reverting fieldName change and adding labels to prepopulated fields

* fixing a few things

* feat(QueryBuilder): Updated QueryBuilder styles, added ConditionGroups and service to support pre-population
fix(Field): PickerToggle should support triggerOnFocus now.
feat(Common): *New* Visible directive to control visiblity

* updating where property from string to object

* style(QueryBuilder): borders are now round

* style(QueryBuilder): Labels now ash

* linting

* reverting fieldName change

* Update field selection and clear value and operator on field change

* re-enabling form prepopulation

* updating date format for range picker to work with prepopulation

* refactoring query builder to use NovoLabelService everywhere

* ux and styling tweaks

* Added automation id for add condition and bolded clear all

* updating icon size attributes to better scale with base icon 1.2em font-size

* hiding tooltip when parent overlay closes

* removing obsolete advancedFilter properties and replacing some with where

* fixing unit test

* Fixed date overlay issue

* making tooltip directive show/hide functions public

* adding data-control-type to novo-field

* adding prop to allow event propagation

* trying out adding control id

* adding highlight pipe and refactoring templates to use it

* fixing bug with nested overlays closing on click events

* feat(Autocomplete): Autocomplete now works with ChipList (#1326)

* deprecating highlight fns

* Updated Search Data

* fix(Chips): update the ux for disabled chips (#1331)

-darken the opacity to improve readability
-update text color of disabled chips to look non-selectable
-remove the X icon to further confer that this chip is read-only

Co-authored-by: Michael Dill <[email protected]>

* feat(NonIdealState): Non Ideal Loading (#1334)

* Expanding non-ideal-state for use case with novo-loading

* Expanding non-ideal-state for use case with novo-loading

* Minor structure cleanup

* Changed message on example

* chore(ci): updating tokens

* chore(ci): Other Tokens Updated

* feat(Description): add ability for control description to handle html (#1333)

* feat(Description): add ability for control description to handle html

* feat(Description) cleaning up example for description containing HTML

* feat(Description) adding new example for new FieldInteractionAPI functionality

* regeneratinv package-lock as v1 and fixing minor type

Co-authored-by: Fayranne Lipton <[email protected]>
Co-authored-by: John Sullivan <[email protected]>
Co-authored-by: Dan Voegelin <[email protected]>

* feat(Docs): new docs, and bump release

* fixing chiplist issue and clearing queryform operator/value on field change

* feat(Bump): Needs a bump for semantic release

* code review changes

Co-authored-by: Michael Dill <[email protected]>
Co-authored-by: Dan Voegelin <[email protected]>
Co-authored-by: Haris Iqbal <[email protected]>
Co-authored-by: Bump And Release <[email protected]>
Co-authored-by: Kurt Mcgallion <[email protected]>
Co-authored-by: Kurt Mcgallion <[email protected]>
Co-authored-by: Kristian Robe <[email protected]>
Co-authored-by: kristian.robe <[email protected]>
Co-authored-by: Jordan Brownfield <[email protected]>
Co-authored-by: kiri-um-bh <[email protected]>
Co-authored-by: Kurt Mcgallion <[email protected]>
Co-authored-by: antonyw89 <[email protected]>
Co-authored-by: Michael Dill <[email protected]>
Co-authored-by: Fayranne Lipton <[email protected]>
Co-authored-by: Fayranne Lipton <[email protected]>
Co-authored-by: John Sullivan <[email protected]>

* renaming update md files to get examples build passing

* fixing data-table filter date range picker error

* removing seemingly redundant selection code

* removing unused imports

* adding back model to selection code for range picker with additional model format

* fix(DatePicker) setting range selection dynamically based on source

* fix(DatePicker): setting range selection dynamically based on source

Co-authored-by: Brian Kimball <[email protected]>
Co-authored-by: Michael Dill <[email protected]>
Co-authored-by: Michael Dill <[email protected]>
Co-authored-by: antonyw89 <[email protected]>
Co-authored-by: Fayranne Lipton <[email protected]>
Co-authored-by: Fayranne Lipton <[email protected]>
Co-authored-by: John Sullivan <[email protected]>
Co-authored-by: Haris Iqbal <[email protected]>
Co-authored-by: Bump And Release <[email protected]>
Co-authored-by: Kurt Mcgallion <[email protected]>
Co-authored-by: Kurt Mcgallion <[email protected]>
Co-authored-by: Kristian Robe <[email protected]>
Co-authored-by: kristian.robe <[email protected]>
Co-authored-by: Jordan Brownfield <[email protected]>
Co-authored-by: kiri-um-bh <[email protected]>
Co-authored-by: Kurt Mcgallion <[email protected]>
dvoegelin added a commit to bullhorn/novo-elements that referenced this issue Aug 5, 2022
…ting queries (#1328)

* Select is intercepting clicks to the ng-content area

* adding circle icon shape

* not closing overlay if clicking in nested overlay

* add shape attr to color option as well

* Set GlobalSearch on setInitialSortFilter

* clear global search

* feat(lib): SearchBox now has keepOpen flag

* updating search box styling and functionality

* updating search box styling

* adding event emitter for applying search

* add options for advanced filtering to getTableResults

* advanced filtering on Interfaces an setInitialSortFilter

* refactor(): some remaining prep work for the upcoming typescript 4 upgrade

* adding value getters to some table cells

* Revert "refactor(): "REVERT: some refactor work in preparation for typescript 4.0.8 upgrade (#1266)" (#1271)"

This reverts commit 5be0308.

* upping ts version to 4.0.8

* Revert "refactor(): "REVERT: some refactor work in preparation for typescript 4.0.8 upgrade (#1266)" (#1271)"

This reverts commit 5be0308.

* adding dep

* update to angular 11

* updated typedoc to .22

* update to angular 12

* fixing typing issue caused by microsoft/TypeScript#35865

* addressing deprecation warnings

* updating angular/cdk to 12.2.13

* angular 13 update

* updating @angular/cdk to 13.3.1

* commented a lot of things out to get build to pass, will have to find fixes

* upgrading to jest 27

* modifying schematics to get build to pass, may have broken some things

* refactoring overlay components to use FlexibleConnectedPositionStrategy

* updating compilation mode, disabling some tests, and re-enabling a lot more

* removing console log

* fixing dragula import

* initial fix for cke mock

* adding autoposition to extra large tooltip example

* adding bounce

* !: Upgrading to Angular 13

* chore(release): 7.0.0-next.0

* fix(Stepper): Remove circular reference caused by unused code

* fix(DataTable): Removed circular dependencies

* fix(Breadcrumb): No more circular deps
fix(EntityPickerResults): No more circular deps

* chore(release): 7.0.1-next.0

* fixing broken unit test

* chore(release): 7.1.0-next.0

* fix for function not found error

* chore(release): 7.1.1-next.0

* fixing bug with simple table component

* formatting

* chore(release): 7.1.2-next.0

* increasing toolstip offset to eliminate cursor juddering

* enabling auto tooltip positioning by default

* fix(NovoFileInputElement): Allow for same file delete/upload, allow file list clear from patchValue(). (#1300)

* 1183 & 1184: Correct FileInput upload issues.

* Code review fixes

* Added clear file list button for testing

* Updated novo-design-tokens version

* Updgraded htmlhint to remove async security vulnerability

Co-authored-by: Kurt Mcgallion <[email protected]>

* chore(release): 7.2.0-next.0

* feat(QueryBuilder): Added a search criteria builder (#1302)

* style(Chips): remove max-width from novo-picker if a row chips picker (#1299)

* chore(release): 6.2.1

* feat(QueryBuilder): Added WIP Query Builder

* fix(QueryBuilder): Removed to much unused code

* fix(QB): minor tweeks to presentation and remove check on DataSpecialization

* linting

* reverting changes to select sizing because it made it too tall

Co-authored-by: Michael Dill <[email protected]>
Co-authored-by: Bump And Release <[email protected]>
Co-authored-by: Dan Voegelin <[email protected]>

* fix(imports): fix a few utils imports to correct issues with debugging locally (#1303)

* chore(release): 7.2.1-next.0

* fix(Schematic): Missing schematics and documentation

* chore(release): 7.2.2-next.0

* fix(import): fix a utils import to correct issues with debugging locally (#1305)

* making 'or' configurable, adding default criteria row

* adding configurable label for translating

* field padding and red trash can

* fixing input box padding

* remove entity picker in field select

* adjusting calendar icon spacing

* removing unused files

* Added fixes and styling updates for novo-accordion

* adding mockup of boolean field def

* BH-75889 - Use correct comparison for dates in time picker input (#1304)

Co-authored-by: kristian.robe <[email protected]>

* chore(release): 7.2.3-next.0

* updates to boolean def and adding dummy address def

* wip: Got custom field defs working

* refactor(QueryBuilder): Renamed all the tokens,directives and subclasses

* some minor fixes for string def

* adding Double field type

* Fixed definition field label and date-between input

* adding/removing default picker defs

* temporary workaround for scalar field needing select def not picker

* adding another def

* fixing variable name

* updating field def logic

* updating some console logs

* updating console log

* fixing custom def in demo

* chore(release): 7.2.4-next.0

* simplifying field def logic

* adding label fallback to entity picker result name

* adding display labels for BillingProfile and InvoiceTerm results

* add optional backdrop input option to search component

* Styling updates for selects and picker in query builder

* Fix build issues

* removing max-width from novo-search's input

* Delete button fix, input value width fixes, individual chip deletion fix

* BH-75391 : fix grouped multi picker list item width. (#1312)

* style(picker): Added data-automation-id to picker results (#1317)

* chore(release): 7.2.5-next.0

* Fixed text field persistence issue.

* fixing some build issues that popped up from rebase

* reverting changes to package-lock

* updates to support where clauses

* Removed comments, fixed date inoput example, clear date field on operator change.

* Added picker overlay to trigger on input field

* Fixed booleaninput import

* Small style fix

* adding ellipsis attribute and fixing text transitions

* Fixed border style

* update bullhorn icons version

* Close date picker on select

* fixing default search box input cont size

* removed some unnecessary styling

* adding ability to pre-populate and clear query builder form

* Fix field name identifier

* rebase

* feat(CKEditor): Do not encode special characters by default (#1320)

* chore(workflow): updating node version for release workflows

* chore(workflow): updating NPM_TOKEN for release workflow

* poackage-lock updates and fixing unit tests

* fix for form prepopulation bug in the demo

* temporarily reverting fieldName change and adding labels to prepopulated fields

* fixing a few things

* feat(QueryBuilder): Updated QueryBuilder styles, added ConditionGroups and service to support pre-population
fix(Field): PickerToggle should support triggerOnFocus now.
feat(Common): *New* Visible directive to control visiblity

* updating where property from string to object

* style(QueryBuilder): borders are now round

* style(QueryBuilder): Labels now ash

* linting

* reverting fieldName change

* Update field selection and clear value and operator on field change

* re-enabling form prepopulation

* updating date format for range picker to work with prepopulation

* refactoring query builder to use NovoLabelService everywhere

* ux and styling tweaks

* Added automation id for add condition and bolded clear all

* updating icon size attributes to better scale with base icon 1.2em font-size

* hiding tooltip when parent overlay closes

* removing obsolete advancedFilter properties and replacing some with where

* fixing unit test

* Fixed date overlay issue

* making tooltip directive show/hide functions public

* adding data-control-type to novo-field

* adding prop to allow event propagation

* trying out adding control id

* adding highlight pipe and refactoring templates to use it

* fixing bug with nested overlays closing on click events

* feat(Autocomplete): Autocomplete now works with ChipList (#1326)

* deprecating highlight fns

* Updated Search Data

* fix(Chips): update the ux for disabled chips (#1331)

-darken the opacity to improve readability
-update text color of disabled chips to look non-selectable
-remove the X icon to further confer that this chip is read-only

Co-authored-by: Michael Dill <[email protected]>

* feat(NonIdealState): Non Ideal Loading (#1334)

* Expanding non-ideal-state for use case with novo-loading

* Expanding non-ideal-state for use case with novo-loading

* Minor structure cleanup

* Changed message on example

* chore(ci): updating tokens

* chore(ci): Other Tokens Updated

* feat(Description): add ability for control description to handle html (#1333)

* feat(Description): add ability for control description to handle html

* feat(Description) cleaning up example for description containing HTML

* feat(Description) adding new example for new FieldInteractionAPI functionality

* regeneratinv package-lock as v1 and fixing minor type

Co-authored-by: Fayranne Lipton <[email protected]>
Co-authored-by: John Sullivan <[email protected]>
Co-authored-by: Dan Voegelin <[email protected]>

* feat(Docs): new docs, and bump release

* fixing chiplist issue and clearing queryform operator/value on field change

* feat(Bump): Needs a bump for semantic release

* code review changes

Co-authored-by: Michael Dill <[email protected]>
Co-authored-by: Dan Voegelin <[email protected]>
Co-authored-by: Haris Iqbal <[email protected]>
Co-authored-by: Bump And Release <[email protected]>
Co-authored-by: Kurt Mcgallion <[email protected]>
Co-authored-by: Kurt Mcgallion <[email protected]>
Co-authored-by: Kristian Robe <[email protected]>
Co-authored-by: kristian.robe <[email protected]>
Co-authored-by: Jordan Brownfield <[email protected]>
Co-authored-by: kiri-um-bh <[email protected]>
Co-authored-by: Kurt Mcgallion <[email protected]>
Co-authored-by: antonyw89 <[email protected]>
Co-authored-by: Michael Dill <[email protected]>
Co-authored-by: Fayranne Lipton <[email protected]>
Co-authored-by: Fayranne Lipton <[email protected]>
Co-authored-by: John Sullivan <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
In Discussion Not yet reached consensus Suggestion An idea for TypeScript
Projects
None yet